couchbase 3.4.3 → 3.4.5
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/ext/couchbase/CMakeLists.txt +22 -1
- data/ext/couchbase/core/bucket.cxx +183 -152
- data/ext/couchbase/core/bucket.hxx +17 -4
- data/ext/couchbase/core/cluster.hxx +41 -13
- data/ext/couchbase/core/cluster_options.hxx +3 -0
- data/ext/couchbase/core/crud_component.cxx +51 -22
- data/ext/couchbase/core/error_context/key_value.cxx +2 -1
- data/ext/couchbase/core/error_context/key_value.hxx +10 -12
- data/ext/couchbase/core/impl/build_deferred_query_indexes.cxx +115 -50
- data/ext/couchbase/core/impl/cluster.cxx +6 -0
- data/ext/couchbase/core/impl/create_bucket.cxx +158 -0
- data/ext/couchbase/core/impl/create_collection.cxx +83 -0
- data/ext/couchbase/core/impl/create_query_index.cxx +172 -59
- data/ext/couchbase/core/impl/create_scope.cxx +69 -0
- data/ext/couchbase/core/impl/dns_srv_tracker.cxx +2 -1
- data/ext/couchbase/core/impl/drop_bucket.cxx +66 -0
- data/ext/couchbase/core/impl/drop_collection.cxx +76 -0
- data/ext/couchbase/core/impl/drop_query_index.cxx +138 -59
- data/ext/couchbase/core/impl/drop_scope.cxx +68 -0
- data/ext/couchbase/core/impl/flush_bucket.cxx +66 -0
- data/ext/couchbase/core/impl/get_all_buckets.cxx +178 -0
- data/ext/couchbase/core/impl/get_all_query_indexes.cxx +67 -37
- data/ext/couchbase/core/impl/get_all_scopes.cxx +94 -0
- data/ext/couchbase/core/impl/get_bucket.cxx +168 -0
- data/ext/couchbase/core/impl/internal_manager_error_context.cxx +113 -0
- data/ext/couchbase/core/impl/internal_manager_error_context.hxx +60 -0
- data/ext/couchbase/core/impl/key_value_error_category.cxx +2 -4
- data/ext/couchbase/core/impl/key_value_error_context.cxx +98 -0
- data/ext/couchbase/core/impl/lookup_in.cxx +1 -0
- data/ext/couchbase/core/impl/lookup_in_all_replicas.cxx +178 -0
- data/ext/couchbase/core/impl/lookup_in_all_replicas.hxx +80 -0
- data/ext/couchbase/core/impl/lookup_in_any_replica.cxx +169 -0
- data/ext/couchbase/core/impl/lookup_in_any_replica.hxx +75 -0
- data/ext/couchbase/core/impl/lookup_in_replica.cxx +104 -0
- data/ext/couchbase/core/impl/lookup_in_replica.hxx +67 -0
- data/ext/couchbase/core/impl/manager_error_context.cxx +100 -0
- data/ext/couchbase/core/impl/query.cxx +1 -0
- data/ext/couchbase/core/impl/query_error_context.cxx +75 -0
- data/ext/couchbase/core/impl/update_bucket.cxx +133 -0
- data/ext/couchbase/core/impl/update_collection.cxx +83 -0
- data/ext/couchbase/core/impl/watch_query_indexes.cxx +53 -29
- data/ext/couchbase/core/io/dns_client.cxx +111 -40
- data/ext/couchbase/core/io/dns_config.cxx +5 -4
- data/ext/couchbase/core/io/http_session.hxx +24 -1
- data/ext/couchbase/core/io/mcbp_command.hxx +9 -2
- data/ext/couchbase/core/io/mcbp_session.cxx +80 -43
- data/ext/couchbase/core/io/mcbp_session.hxx +4 -3
- data/ext/couchbase/core/logger/custom_rotating_file_sink.cxx +1 -1
- data/ext/couchbase/core/logger/logger.cxx +80 -20
- data/ext/couchbase/core/logger/logger.hxx +31 -0
- data/ext/couchbase/core/management/bucket_settings.hxx +8 -5
- data/ext/couchbase/core/management/bucket_settings_json.hxx +12 -2
- data/ext/couchbase/core/meta/features.hxx +42 -0
- data/ext/couchbase/core/operations/document_lookup_in.cxx +8 -1
- data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +192 -0
- data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +188 -0
- data/ext/couchbase/core/operations/document_query.cxx +11 -0
- data/ext/couchbase/core/operations/document_query.hxx +1 -0
- data/ext/couchbase/core/operations/management/CMakeLists.txt +1 -0
- data/ext/couchbase/core/operations/management/bucket_create.cxx +30 -9
- data/ext/couchbase/core/operations/management/bucket_update.cxx +27 -6
- data/ext/couchbase/core/operations/management/collection_create.cxx +5 -1
- data/ext/couchbase/core/operations/management/collection_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/collection_update.cxx +87 -0
- data/ext/couchbase/core/operations/management/collection_update.hxx +54 -0
- data/ext/couchbase/core/operations/management/collections.hxx +1 -0
- data/ext/couchbase/core/operations.hxx +2 -0
- data/ext/couchbase/core/origin.cxx +270 -0
- data/ext/couchbase/core/origin.hxx +2 -0
- data/ext/couchbase/core/protocol/client_response.hxx +1 -0
- data/ext/couchbase/core/protocol/cmd_hello.hxx +1 -0
- data/ext/couchbase/core/protocol/cmd_lookup_in_replica.cxx +107 -0
- data/ext/couchbase/core/protocol/cmd_lookup_in_replica.hxx +137 -0
- data/ext/couchbase/core/protocol/hello_feature.hxx +6 -0
- data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +3 -0
- data/ext/couchbase/core/protocol/status.cxx +2 -2
- data/ext/couchbase/core/range_scan_options.cxx +3 -27
- data/ext/couchbase/core/range_scan_options.hxx +13 -17
- data/ext/couchbase/core/range_scan_orchestrator.cxx +388 -170
- data/ext/couchbase/core/range_scan_orchestrator.hxx +13 -2
- data/ext/couchbase/core/range_scan_orchestrator_options.hxx +5 -3
- data/ext/couchbase/core/scan_options.hxx +0 -19
- data/ext/couchbase/core/scan_result.cxx +19 -5
- data/ext/couchbase/core/scan_result.hxx +5 -2
- data/ext/couchbase/core/timeout_defaults.hxx +3 -4
- data/ext/couchbase/core/topology/capabilities.hxx +4 -0
- data/ext/couchbase/core/topology/capabilities_fmt.hxx +11 -0
- data/ext/couchbase/core/topology/collections_manifest.hxx +2 -0
- data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +1 -1
- data/ext/couchbase/core/topology/collections_manifest_json.hxx +3 -0
- data/ext/couchbase/core/topology/configuration.hxx +20 -0
- data/ext/couchbase/core/topology/configuration_json.hxx +8 -1
- data/ext/couchbase/core/utils/connection_string.cxx +62 -47
- data/ext/couchbase/core/utils/connection_string.hxx +1 -0
- data/ext/couchbase/couchbase/analytics_error_context.hxx +1 -1
- data/ext/couchbase/couchbase/behavior_options.hxx +19 -2
- data/ext/couchbase/couchbase/bucket.hxx +14 -0
- data/ext/couchbase/couchbase/bucket_manager.hxx +135 -0
- data/ext/couchbase/couchbase/build_query_index_options.hxx +0 -30
- data/ext/couchbase/couchbase/cluster.hxx +14 -0
- data/ext/couchbase/couchbase/collection.hxx +111 -0
- data/ext/couchbase/couchbase/collection_manager.hxx +160 -0
- data/ext/couchbase/couchbase/collection_query_index_manager.hxx +7 -48
- data/ext/couchbase/couchbase/create_bucket_options.hxx +41 -0
- data/ext/couchbase/couchbase/create_collection_options.hxx +44 -0
- data/ext/couchbase/couchbase/create_primary_query_index_options.hxx +0 -29
- data/ext/couchbase/couchbase/create_query_index_options.hxx +0 -33
- data/ext/couchbase/couchbase/create_scope_options.hxx +41 -0
- data/ext/couchbase/couchbase/drop_bucket_options.hxx +41 -0
- data/ext/couchbase/couchbase/drop_collection_options.hxx +41 -0
- data/ext/couchbase/couchbase/drop_primary_query_index_options.hxx +0 -30
- data/ext/couchbase/couchbase/drop_query_index_options.hxx +0 -31
- data/ext/couchbase/couchbase/drop_scope_options.hxx +41 -0
- data/ext/couchbase/couchbase/error_codes.hxx +1 -2
- data/ext/couchbase/couchbase/error_context.hxx +10 -2
- data/ext/couchbase/couchbase/flush_bucket_options.hxx +41 -0
- data/ext/couchbase/{core/topology/error_map_fmt.hxx → couchbase/fmt/key_value_error_map_attribute.hxx} +21 -21
- data/ext/couchbase/couchbase/get_all_buckets_options.hxx +44 -0
- data/ext/couchbase/couchbase/get_all_query_indexes_options.hxx +0 -30
- data/ext/couchbase/couchbase/get_all_scopes_options.hxx +44 -0
- data/ext/couchbase/couchbase/get_and_lock_options.hxx +2 -2
- data/ext/couchbase/couchbase/get_and_touch_options.hxx +2 -2
- data/ext/couchbase/couchbase/get_bucket_options.hxx +43 -0
- data/ext/couchbase/couchbase/get_options.hxx +2 -2
- data/ext/couchbase/couchbase/insert_options.hxx +3 -3
- data/ext/couchbase/couchbase/key_value_error_context.hxx +7 -2
- data/ext/couchbase/couchbase/lookup_in_all_replicas_options.hxx +109 -0
- data/ext/couchbase/couchbase/lookup_in_any_replica_options.hxx +101 -0
- data/ext/couchbase/couchbase/lookup_in_options.hxx +2 -2
- data/ext/couchbase/couchbase/lookup_in_replica_result.hxx +74 -0
- data/ext/couchbase/couchbase/lookup_in_result.hxx +26 -0
- data/ext/couchbase/couchbase/management/bucket_settings.hxx +119 -0
- data/ext/couchbase/couchbase/management/collection_spec.hxx +29 -0
- data/ext/couchbase/couchbase/management/scope_spec.hxx +29 -0
- data/ext/couchbase/couchbase/manager_error_context.hxx +29 -53
- data/ext/couchbase/couchbase/mutate_in_options.hxx +2 -2
- data/ext/couchbase/couchbase/query_error_context.hxx +3 -1
- data/ext/couchbase/couchbase/query_index_manager.hxx +16 -83
- data/ext/couchbase/couchbase/query_options.hxx +18 -0
- data/ext/couchbase/couchbase/remove_options.hxx +2 -2
- data/ext/couchbase/couchbase/replace_options.hxx +3 -3
- data/ext/couchbase/couchbase/security_options.hxx +15 -0
- data/ext/couchbase/couchbase/subdocument_error_context.hxx +4 -2
- data/ext/couchbase/couchbase/touch_options.hxx +2 -2
- data/ext/couchbase/couchbase/unlock_options.hxx +2 -2
- data/ext/couchbase/couchbase/update_bucket_options.hxx +41 -0
- data/ext/couchbase/couchbase/update_collection_options.hxx +44 -0
- data/ext/couchbase/couchbase/upsert_options.hxx +3 -3
- data/ext/couchbase/couchbase/watch_query_indexes_options.hxx +0 -31
- data/ext/couchbase/test/CMakeLists.txt +1 -0
- data/ext/couchbase/test/test_integration_collections.cxx +6 -0
- data/ext/couchbase/test/test_integration_crud.cxx +5 -0
- data/ext/couchbase/test/test_integration_examples.cxx +137 -1
- data/ext/couchbase/test/test_integration_management.cxx +1009 -309
- data/ext/couchbase/test/test_integration_query.cxx +19 -7
- data/ext/couchbase/test/test_integration_range_scan.cxx +351 -112
- data/ext/couchbase/test/test_integration_search.cxx +10 -1
- data/ext/couchbase/test/test_integration_subdoc.cxx +721 -7
- data/ext/couchbase/test/test_transaction_public_async_api.cxx +13 -12
- data/ext/couchbase/test/test_transaction_public_blocking_api.cxx +27 -21
- data/ext/couchbase/test/test_unit_connection_string.cxx +29 -0
- data/ext/couchbase/test/test_unit_query.cxx +75 -0
- data/ext/couchbase.cxx +735 -60
- data/ext/revisions.rb +3 -3
- data/lib/couchbase/cluster.rb +1 -1
- data/lib/couchbase/collection.rb +108 -0
- data/lib/couchbase/collection_options.rb +100 -1
- data/lib/couchbase/errors.rb +5 -0
- data/lib/couchbase/key_value_scan.rb +125 -0
- data/lib/couchbase/management/bucket_manager.rb +22 -15
- data/lib/couchbase/management/collection_manager.rb +158 -9
- data/lib/couchbase/options.rb +151 -0
- data/lib/couchbase/scope.rb +1 -1
- data/lib/couchbase/utils/time.rb +14 -1
- data/lib/couchbase/version.rb +1 -1
- metadata +59 -8
- data/ext/couchbase/core/impl/collection_query_index_manager.cxx +0 -93
|
@@ -0,0 +1,41 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct create_bucket_options : public common_options<create_bucket_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<create_bucket_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
using create_bucket_handler = std::function<void(couchbase::manager_error_context)>;
|
|
41
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,44 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct create_collection_options : public common_options<create_collection_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<create_collection_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
struct create_collection_settings {
|
|
39
|
+
std::uint32_t max_expiry{ 0 };
|
|
40
|
+
std::optional<bool> history{};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
using create_collection_handler = std::function<void(couchbase::manager_error_context)>;
|
|
44
|
+
} // namespace couchbase
|
|
@@ -134,33 +134,4 @@ class create_primary_query_index_options : public common_options<create_primary_
|
|
|
134
134
|
*/
|
|
135
135
|
|
|
136
136
|
using create_primary_query_index_handler = std::function<void(couchbase::manager_error_context)>;
|
|
137
|
-
|
|
138
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
139
|
-
namespace core
|
|
140
|
-
{
|
|
141
|
-
class cluster;
|
|
142
|
-
class query_context;
|
|
143
|
-
namespace impl
|
|
144
|
-
{
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* @since 1.0.0
|
|
148
|
-
* @internal
|
|
149
|
-
*/
|
|
150
|
-
void
|
|
151
|
-
initiate_create_primary_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
152
|
-
std::string bucket_name,
|
|
153
|
-
couchbase::create_primary_query_index_options::built options,
|
|
154
|
-
query_context query_ctx,
|
|
155
|
-
std::string collection_name,
|
|
156
|
-
create_primary_query_index_handler&& handler);
|
|
157
|
-
void
|
|
158
|
-
initiate_create_primary_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
159
|
-
std::string bucket_name,
|
|
160
|
-
couchbase::create_primary_query_index_options::built options,
|
|
161
|
-
create_primary_query_index_handler&& handler);
|
|
162
|
-
|
|
163
|
-
#endif
|
|
164
|
-
} // namespace impl
|
|
165
|
-
} // namespace core
|
|
166
137
|
} // namespace couchbase
|
|
@@ -136,37 +136,4 @@ class create_query_index_options : public common_options<create_query_index_opti
|
|
|
136
136
|
*/
|
|
137
137
|
|
|
138
138
|
using create_query_index_handler = std::function<void(couchbase::manager_error_context)>;
|
|
139
|
-
|
|
140
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
141
|
-
namespace core
|
|
142
|
-
{
|
|
143
|
-
class cluster;
|
|
144
|
-
class query_context;
|
|
145
|
-
namespace impl
|
|
146
|
-
{
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* @since 1.0.0
|
|
150
|
-
* @internal
|
|
151
|
-
*/
|
|
152
|
-
void
|
|
153
|
-
initiate_create_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
154
|
-
std::string bucket_name,
|
|
155
|
-
std::string index_name,
|
|
156
|
-
std::vector<std::string> fields,
|
|
157
|
-
couchbase::create_query_index_options::built options,
|
|
158
|
-
create_query_index_handler&& handler);
|
|
159
|
-
void
|
|
160
|
-
initiate_create_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
161
|
-
std::string bucket_name,
|
|
162
|
-
std::string index_name,
|
|
163
|
-
std::vector<std::string> fields,
|
|
164
|
-
couchbase::create_query_index_options::built options,
|
|
165
|
-
query_context query_ctx,
|
|
166
|
-
std::string collection_name,
|
|
167
|
-
create_query_index_handler&& handler);
|
|
168
|
-
|
|
169
|
-
#endif
|
|
170
|
-
} // namespace impl
|
|
171
|
-
} // namespace core
|
|
172
139
|
} // namespace couchbase
|
|
@@ -0,0 +1,41 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct create_scope_options : public common_options<create_scope_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<create_scope_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
using create_scope_handler = std::function<void(couchbase::manager_error_context)>;
|
|
41
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,41 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct drop_bucket_options : public common_options<drop_bucket_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<drop_bucket_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
using drop_bucket_handler = std::function<void(couchbase::manager_error_context)>;
|
|
41
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,41 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct drop_collection_options : public common_options<drop_collection_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<drop_collection_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
using drop_collection_handler = std::function<void(couchbase::manager_error_context)>;
|
|
41
|
+
} // namespace couchbase
|
|
@@ -96,34 +96,4 @@ class drop_primary_query_index_options : public common_options<drop_primary_quer
|
|
|
96
96
|
*/
|
|
97
97
|
|
|
98
98
|
using drop_primary_query_index_handler = std::function<void(couchbase::manager_error_context)>;
|
|
99
|
-
|
|
100
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
101
|
-
namespace core
|
|
102
|
-
{
|
|
103
|
-
class cluster;
|
|
104
|
-
class query_context;
|
|
105
|
-
namespace impl
|
|
106
|
-
{
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* @since 1.0.0
|
|
110
|
-
* @internal
|
|
111
|
-
*/
|
|
112
|
-
void
|
|
113
|
-
initiate_drop_primary_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
114
|
-
std::string bucket_name,
|
|
115
|
-
couchbase::drop_primary_query_index_options::built options,
|
|
116
|
-
query_context query_ctx,
|
|
117
|
-
std::string collection_name,
|
|
118
|
-
drop_primary_query_index_handler&& handler);
|
|
119
|
-
|
|
120
|
-
void
|
|
121
|
-
initiate_drop_primary_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
122
|
-
std::string bucket_name,
|
|
123
|
-
couchbase::drop_primary_query_index_options::built options,
|
|
124
|
-
drop_primary_query_index_handler&& handler);
|
|
125
|
-
|
|
126
|
-
#endif
|
|
127
|
-
} // namespace impl
|
|
128
|
-
} // namespace core
|
|
129
99
|
} // namespace couchbase
|
|
@@ -82,35 +82,4 @@ class drop_query_index_options : public common_options<drop_query_index_options>
|
|
|
82
82
|
*/
|
|
83
83
|
|
|
84
84
|
using drop_query_index_handler = std::function<void(couchbase::manager_error_context)>;
|
|
85
|
-
|
|
86
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
87
|
-
namespace core
|
|
88
|
-
{
|
|
89
|
-
class cluster;
|
|
90
|
-
class query_context;
|
|
91
|
-
namespace impl
|
|
92
|
-
{
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* @since 1.0.0
|
|
96
|
-
* @internal
|
|
97
|
-
*/
|
|
98
|
-
void
|
|
99
|
-
initiate_drop_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
100
|
-
std::string bucket_name,
|
|
101
|
-
std::string index_name,
|
|
102
|
-
couchbase::drop_query_index_options::built options,
|
|
103
|
-
query_context query_ctx,
|
|
104
|
-
std::string collection_name,
|
|
105
|
-
drop_query_index_handler&& handler);
|
|
106
|
-
void
|
|
107
|
-
initiate_drop_query_index(std::shared_ptr<couchbase::core::cluster> core,
|
|
108
|
-
std::string bucket_name,
|
|
109
|
-
std::string index_name,
|
|
110
|
-
couchbase::drop_query_index_options::built options,
|
|
111
|
-
drop_query_index_handler&& handler);
|
|
112
|
-
|
|
113
|
-
#endif
|
|
114
|
-
} // namespace impl
|
|
115
|
-
} // namespace core
|
|
116
85
|
} // namespace couchbase
|
|
@@ -0,0 +1,41 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct drop_scope_options : public common_options<drop_scope_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<drop_scope_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
using drop_scope_handler = std::function<void(couchbase::manager_error_context)>;
|
|
41
|
+
} // namespace couchbase
|
|
@@ -57,12 +57,14 @@ class error_context
|
|
|
57
57
|
* @since 1.0.0
|
|
58
58
|
* @internal
|
|
59
59
|
*/
|
|
60
|
-
error_context(std::
|
|
60
|
+
error_context(std::string operation_id,
|
|
61
|
+
std::error_code ec,
|
|
61
62
|
std::optional<std::string> last_dispatched_to,
|
|
62
63
|
std::optional<std::string> last_dispatched_from,
|
|
63
64
|
std::size_t retry_attempts,
|
|
64
65
|
std::set<retry_reason> retry_reasons)
|
|
65
|
-
:
|
|
66
|
+
: operation_id_{ std::move(operation_id) }
|
|
67
|
+
, ec_{ ec }
|
|
66
68
|
, last_dispatched_to_{ std::move(last_dispatched_to) }
|
|
67
69
|
, last_dispatched_from_{ std::move(last_dispatched_from) }
|
|
68
70
|
, retry_attempts_{ retry_attempts }
|
|
@@ -70,6 +72,11 @@ class error_context
|
|
|
70
72
|
{
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
[[nodiscard]] virtual auto operation_id() const -> const std::string&
|
|
76
|
+
{
|
|
77
|
+
return operation_id_;
|
|
78
|
+
}
|
|
79
|
+
|
|
73
80
|
/**
|
|
74
81
|
* Returns status of the operation.
|
|
75
82
|
*
|
|
@@ -165,6 +172,7 @@ class error_context
|
|
|
165
172
|
}
|
|
166
173
|
|
|
167
174
|
private:
|
|
175
|
+
std::string operation_id_{};
|
|
168
176
|
std::error_code ec_{};
|
|
169
177
|
std::optional<std::string> last_dispatched_to_{};
|
|
170
178
|
std::optional<std::string> last_dispatched_from_{};
|
|
@@ -0,0 +1,41 @@
|
|
|
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 <functional>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
|
|
25
|
+
namespace couchbase
|
|
26
|
+
{
|
|
27
|
+
struct flush_bucket_options : public common_options<flush_bucket_options> {
|
|
28
|
+
public:
|
|
29
|
+
struct built : public common_options<flush_bucket_options>::built {
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
[[nodiscard]] auto build() const -> built
|
|
33
|
+
{
|
|
34
|
+
return { build_common_options() };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
using flush_bucket_handler = std::function<void(couchbase::manager_error_context)>;
|
|
41
|
+
} // namespace couchbase
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
|
|
18
18
|
#pragma once
|
|
19
19
|
|
|
20
|
-
#include
|
|
20
|
+
#include <couchbase/key_value_error_map_attribute.hxx>
|
|
21
21
|
|
|
22
22
|
#include <fmt/core.h>
|
|
23
23
|
|
|
24
24
|
template<>
|
|
25
|
-
struct fmt::formatter<couchbase::
|
|
25
|
+
struct fmt::formatter<couchbase::key_value_error_map_attribute> {
|
|
26
26
|
template<typename ParseContext>
|
|
27
27
|
constexpr auto parse(ParseContext& ctx)
|
|
28
28
|
{
|
|
@@ -30,62 +30,62 @@ struct fmt::formatter<couchbase::api::key_value_error_map_attribute> {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
template<typename FormatContext>
|
|
33
|
-
auto format(couchbase::
|
|
33
|
+
auto format(couchbase::key_value_error_map_attribute attr, FormatContext& ctx) const
|
|
34
34
|
{
|
|
35
35
|
string_view name = "unknown";
|
|
36
36
|
switch (attr) {
|
|
37
|
-
case couchbase::
|
|
37
|
+
case couchbase::key_value_error_map_attribute::success:
|
|
38
38
|
name = "success";
|
|
39
39
|
break;
|
|
40
|
-
case couchbase::
|
|
40
|
+
case couchbase::key_value_error_map_attribute::item_only:
|
|
41
41
|
name = "item-only";
|
|
42
42
|
break;
|
|
43
|
-
case couchbase::
|
|
43
|
+
case couchbase::key_value_error_map_attribute::invalid_input:
|
|
44
44
|
name = "invalid-input";
|
|
45
45
|
break;
|
|
46
|
-
case couchbase::
|
|
46
|
+
case couchbase::key_value_error_map_attribute::fetch_config:
|
|
47
47
|
name = "fetch-config";
|
|
48
48
|
break;
|
|
49
|
-
case couchbase::
|
|
49
|
+
case couchbase::key_value_error_map_attribute::conn_state_invalidated:
|
|
50
50
|
name = "conn-state-invalidated";
|
|
51
51
|
break;
|
|
52
|
-
case couchbase::
|
|
52
|
+
case couchbase::key_value_error_map_attribute::auth:
|
|
53
53
|
name = "auth";
|
|
54
54
|
break;
|
|
55
|
-
case couchbase::
|
|
55
|
+
case couchbase::key_value_error_map_attribute::special_handling:
|
|
56
56
|
name = "special-handling";
|
|
57
57
|
break;
|
|
58
|
-
case couchbase::
|
|
58
|
+
case couchbase::key_value_error_map_attribute::support:
|
|
59
59
|
name = "support";
|
|
60
60
|
break;
|
|
61
|
-
case couchbase::
|
|
61
|
+
case couchbase::key_value_error_map_attribute::temp:
|
|
62
62
|
name = "temp";
|
|
63
63
|
break;
|
|
64
|
-
case couchbase::
|
|
64
|
+
case couchbase::key_value_error_map_attribute::internal:
|
|
65
65
|
name = "internal";
|
|
66
66
|
break;
|
|
67
|
-
case couchbase::
|
|
67
|
+
case couchbase::key_value_error_map_attribute::retry_now:
|
|
68
68
|
name = "retry-now";
|
|
69
69
|
break;
|
|
70
|
-
case couchbase::
|
|
70
|
+
case couchbase::key_value_error_map_attribute::retry_later:
|
|
71
71
|
name = "retry-later";
|
|
72
72
|
break;
|
|
73
|
-
case couchbase::
|
|
73
|
+
case couchbase::key_value_error_map_attribute::subdoc:
|
|
74
74
|
name = "subdoc";
|
|
75
75
|
break;
|
|
76
|
-
case couchbase::
|
|
76
|
+
case couchbase::key_value_error_map_attribute::dcp:
|
|
77
77
|
name = "dcp";
|
|
78
78
|
break;
|
|
79
|
-
case couchbase::
|
|
79
|
+
case couchbase::key_value_error_map_attribute::auto_retry:
|
|
80
80
|
name = "auto-retry";
|
|
81
81
|
break;
|
|
82
|
-
case couchbase::
|
|
82
|
+
case couchbase::key_value_error_map_attribute::item_locked:
|
|
83
83
|
name = "item-locked";
|
|
84
84
|
break;
|
|
85
|
-
case couchbase::
|
|
85
|
+
case couchbase::key_value_error_map_attribute::item_deleted:
|
|
86
86
|
name = "item-deleted";
|
|
87
87
|
break;
|
|
88
|
-
case couchbase::
|
|
88
|
+
case couchbase::key_value_error_map_attribute::rate_limit:
|
|
89
89
|
name = "rate-limit";
|
|
90
90
|
break;
|
|
91
91
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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/management/bucket_settings.hxx>
|
|
21
|
+
|
|
22
|
+
#include <functional>
|
|
23
|
+
#include <memory>
|
|
24
|
+
#include <optional>
|
|
25
|
+
#include <string>
|
|
26
|
+
|
|
27
|
+
namespace couchbase
|
|
28
|
+
{
|
|
29
|
+
struct get_all_buckets_options : public common_options<get_all_buckets_options> {
|
|
30
|
+
public:
|
|
31
|
+
struct built : public common_options<get_all_buckets_options>::built {
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
[[nodiscard]] auto build() const -> built
|
|
35
|
+
{
|
|
36
|
+
return { build_common_options() };
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private:
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
using get_all_buckets_handler =
|
|
43
|
+
std::function<void(couchbase::manager_error_context, std::vector<couchbase::management::cluster::bucket_settings>)>;
|
|
44
|
+
} // namespace couchbase
|
|
@@ -68,34 +68,4 @@ class get_all_query_indexes_options : public common_options<get_all_query_indexe
|
|
|
68
68
|
|
|
69
69
|
using get_all_query_indexes_handler =
|
|
70
70
|
std::function<void(couchbase::manager_error_context, std::vector<couchbase::management::query::index>)>;
|
|
71
|
-
|
|
72
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
73
|
-
namespace core
|
|
74
|
-
{
|
|
75
|
-
class cluster;
|
|
76
|
-
class query_context;
|
|
77
|
-
namespace impl
|
|
78
|
-
{
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @since 1.0.0
|
|
82
|
-
* @internal
|
|
83
|
-
*/
|
|
84
|
-
void
|
|
85
|
-
initiate_get_all_query_indexes(std::shared_ptr<couchbase::core::cluster> core,
|
|
86
|
-
std::string bucket_name,
|
|
87
|
-
couchbase::get_all_query_indexes_options::built options,
|
|
88
|
-
get_all_query_indexes_handler&& handler);
|
|
89
|
-
|
|
90
|
-
void
|
|
91
|
-
initiate_get_all_query_indexes(std::shared_ptr<couchbase::core::cluster> core,
|
|
92
|
-
std::string bucket_name,
|
|
93
|
-
couchbase::get_all_query_indexes_options::built options,
|
|
94
|
-
query_context query_ctx,
|
|
95
|
-
std::string collection_name,
|
|
96
|
-
get_all_query_indexes_handler&& handler);
|
|
97
|
-
|
|
98
|
-
#endif
|
|
99
|
-
} // namespace impl
|
|
100
|
-
} // namespace core
|
|
101
71
|
} // namespace couchbase
|