couchbase 4.2.5-dev.3 → 4.2.6-dev
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/README.md +81 -9
- package/deps/couchbase-cxx-client/CMakeLists.txt +9 -1
- package/deps/couchbase-cxx-client/bin/api.rb +234 -0
- package/deps/couchbase-cxx-client/bin/create-search-index +18 -135
- package/deps/couchbase-cxx-client/bin/init-cluster +17 -139
- package/deps/couchbase-cxx-client/bin/load-sample-buckets +54 -0
- package/deps/couchbase-cxx-client/core/cluster.hxx +33 -12
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +3 -0
- package/deps/couchbase-cxx-client/core/crud_component.cxx +51 -22
- package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +115 -50
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +6 -0
- package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +155 -0
- package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +172 -59
- package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -1
- package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +66 -0
- package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +138 -59
- package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +66 -0
- package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +163 -0
- package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +67 -37
- package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +153 -0
- package/deps/couchbase-cxx-client/core/impl/internal_manager_error_context.cxx +113 -0
- package/deps/couchbase-cxx-client/core/impl/internal_manager_error_context.hxx +60 -0
- package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +2 -4
- package/deps/couchbase-cxx-client/core/impl/manager_error_context.cxx +100 -0
- package/deps/couchbase-cxx-client/core/impl/query.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +130 -0
- package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +53 -29
- package/deps/couchbase-cxx-client/core/io/dns_client.cxx +71 -38
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +5 -4
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +5 -6
- package/deps/couchbase-cxx-client/core/meta/features.hxx +6 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +11 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +270 -0
- package/deps/couchbase-cxx-client/core/origin.hxx +2 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +2 -2
- package/deps/couchbase-cxx-client/core/range_scan_options.cxx +3 -27
- package/deps/couchbase-cxx-client/core/range_scan_options.hxx +13 -17
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +367 -170
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.hxx +13 -2
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator_options.hxx +5 -3
- package/deps/couchbase-cxx-client/core/scan_options.hxx +0 -19
- package/deps/couchbase-cxx-client/core/scan_result.cxx +19 -5
- package/deps/couchbase-cxx-client/core/scan_result.hxx +5 -2
- package/deps/couchbase-cxx-client/core/timeout_defaults.hxx +2 -3
- package/deps/couchbase-cxx-client/core/topology/capabilities.hxx +1 -0
- package/deps/couchbase-cxx-client/core/topology/capabilities_fmt.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/collections_manifest_fmt.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +5 -0
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +4 -0
- package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +19 -2
- package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +135 -0
- package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -30
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +14 -0
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +7 -48
- package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/create_primary_query_index_options.hxx +0 -29
- package/deps/couchbase-cxx-client/couchbase/create_query_index_options.hxx +0 -33
- package/deps/couchbase-cxx-client/couchbase/drop_bucket_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/drop_primary_query_index_options.hxx +0 -30
- package/deps/couchbase-cxx-client/couchbase/drop_query_index_options.hxx +0 -31
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +1 -2
- package/deps/couchbase-cxx-client/couchbase/flush_bucket_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_buckets_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +0 -30
- package/deps/couchbase-cxx-client/couchbase/get_bucket_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/management/bucket_settings.hxx +116 -0
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +29 -53
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +16 -83
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +18 -0
- package/deps/couchbase-cxx-client/couchbase/security_options.hxx +15 -0
- package/deps/couchbase-cxx-client/couchbase/update_bucket_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/watch_query_indexes_options.hxx +0 -31
- package/deps/couchbase-cxx-client/docs/cbc-analytics.md +1 -0
- package/deps/couchbase-cxx-client/docs/cbc-get.md +1 -0
- package/deps/couchbase-cxx-client/docs/cbc-pillowfight.md +1 -0
- package/deps/couchbase-cxx-client/docs/cbc-query.md +1 -0
- package/deps/couchbase-cxx-client/docs/cbc.md +10 -0
- package/deps/couchbase-cxx-client/test/CMakeLists.txt +1 -0
- package/deps/couchbase-cxx-client/test/test_integration_collections.cxx +6 -0
- package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +5 -0
- package/deps/couchbase-cxx-client/test/test_integration_examples.cxx +137 -1
- package/deps/couchbase-cxx-client/test/test_integration_management.cxx +709 -266
- package/deps/couchbase-cxx-client/test/test_integration_query.cxx +19 -7
- package/deps/couchbase-cxx-client/test/test_integration_range_scan.cxx +351 -112
- package/deps/couchbase-cxx-client/test/test_integration_search.cxx +10 -1
- package/deps/couchbase-cxx-client/test/test_transaction_public_async_api.cxx +13 -12
- package/deps/couchbase-cxx-client/test/test_transaction_public_blocking_api.cxx +27 -21
- package/deps/couchbase-cxx-client/test/test_unit_query.cxx +75 -0
- package/deps/couchbase-cxx-client/test/utils/server_version.hxx +5 -0
- package/deps/couchbase-cxx-client/test/utils/wait_until.cxx +29 -10
- package/deps/couchbase-cxx-client/test/utils/wait_until.hxx +3 -1
- package/deps/couchbase-cxx-client/tools/utils.cxx +4 -1
- package/dist/binding.d.ts +21 -16
- package/dist/binding.js +1 -4
- package/dist/bindingutilities.d.ts +6 -1
- package/dist/bindingutilities.js +36 -1
- package/dist/collection.d.ts +65 -3
- package/dist/collection.js +107 -0
- package/dist/crudoptypes.d.ts +34 -0
- package/dist/crudoptypes.js +18 -1
- package/dist/queryexecutor.js +1 -0
- package/dist/querytypes.d.ts +7 -0
- package/dist/rangeScan.d.ts +107 -0
- package/dist/rangeScan.js +91 -0
- package/dist/streamablepromises.d.ts +6 -0
- package/dist/streamablepromises.js +25 -1
- package/package.json +13 -14
- package/scripts/createPlatformPackages.js +1 -4
- package/src/addondata.hpp +1 -0
- package/src/binding.cpp +5 -2
- package/src/connection.cpp +108 -2
- package/src/connection.hpp +1 -0
- package/src/constants.cpp +2 -12
- package/src/jstocbpp_autogen.hpp +49 -22
- package/src/jstocbpp_basic.hpp +2 -8
- package/src/mutationtoken.cpp +13 -0
- package/src/scan_iterator.cpp +90 -0
- package/src/scan_iterator.hpp +30 -0
- package/tools/gen-bindings-json.py +9 -8
- package/deps/couchbase-cxx-client/core/impl/collection_query_index_manager.cxx +0 -93
|
@@ -189,10 +189,10 @@ map_status_code(protocol::client_opcode opcode, std::uint16_t status)
|
|
|
189
189
|
case key_value_status_code::opaque_no_match:
|
|
190
190
|
|
|
191
191
|
case key_value_status_code::range_scan_cancelled:
|
|
192
|
-
return errc::
|
|
192
|
+
return errc::common::request_canceled;
|
|
193
193
|
|
|
194
194
|
case key_value_status_code::range_scan_vb_uuid_not_equal:
|
|
195
|
-
return errc::key_value::
|
|
195
|
+
return errc::key_value::mutation_token_outdated;
|
|
196
196
|
|
|
197
197
|
case key_value_status_code::unknown:
|
|
198
198
|
break;
|
|
@@ -19,34 +19,10 @@
|
|
|
19
19
|
|
|
20
20
|
namespace couchbase::core
|
|
21
21
|
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
, end_{ std::move(end) }
|
|
25
|
-
{
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
range_scan::range_scan(std::string_view start, std::string_view end)
|
|
29
|
-
: start_{ utils::to_binary(start) }
|
|
30
|
-
, end_{ utils::to_binary(end) }
|
|
31
|
-
{
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
range_scan::range_scan(std::string_view start, bool exclusive_start, std::string_view end, bool exclusive_end)
|
|
35
|
-
: start_{ utils::to_binary(start), exclusive_start }
|
|
36
|
-
, end_{ utils::to_binary(end), exclusive_end }
|
|
37
|
-
{
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
range_scan::range_scan(std::vector<std::byte> start, std::vector<std::byte> end)
|
|
41
|
-
: start_{ std::move(start) }
|
|
42
|
-
, end_{ std::move(end) }
|
|
43
|
-
{
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
range_scan::range_scan(std::vector<std::byte> start, bool exclusive_start, std::vector<std::byte> end, bool exclusive_end)
|
|
47
|
-
: start_{ std::move(start), exclusive_start }
|
|
48
|
-
, end_{ std::move(end), exclusive_end }
|
|
22
|
+
auto
|
|
23
|
+
prefix_scan::to_range_scan() const -> range_scan
|
|
49
24
|
{
|
|
25
|
+
return { scan_term{ prefix, false }, scan_term{ prefix + "\xf4\x8f\xfb\xfb" } };
|
|
50
26
|
}
|
|
51
27
|
|
|
52
28
|
auto
|
|
@@ -29,28 +29,24 @@
|
|
|
29
29
|
namespace couchbase::core
|
|
30
30
|
{
|
|
31
31
|
struct scan_term {
|
|
32
|
-
|
|
33
|
-
static constexpr std::byte maximum_marker{ 0xff };
|
|
34
|
-
|
|
35
|
-
std::vector<std::byte> id;
|
|
32
|
+
std::string term;
|
|
36
33
|
bool exclusive{ false };
|
|
37
34
|
};
|
|
38
35
|
|
|
39
36
|
struct range_scan {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
scan_term end_{ { scan_term::maximum_marker } };
|
|
37
|
+
std::optional<scan_term> from{};
|
|
38
|
+
std::optional<scan_term> to{};
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
struct prefix_scan {
|
|
42
|
+
std::string prefix{};
|
|
43
|
+
|
|
44
|
+
[[nodiscard]] auto to_range_scan() const -> range_scan;
|
|
49
45
|
};
|
|
50
46
|
|
|
51
47
|
struct sampling_scan {
|
|
52
48
|
std::size_t limit{};
|
|
53
|
-
std::optional<std::
|
|
49
|
+
std::optional<std::uint64_t> seed{};
|
|
54
50
|
};
|
|
55
51
|
|
|
56
52
|
struct range_snapshot_requirements {
|
|
@@ -62,7 +58,7 @@ struct range_snapshot_requirements {
|
|
|
62
58
|
struct range_scan_create_options {
|
|
63
59
|
std::string scope_name{};
|
|
64
60
|
std::string collection_name{};
|
|
65
|
-
std::variant<std::monostate, range_scan, sampling_scan> scan_type{};
|
|
61
|
+
std::variant<std::monostate, range_scan, prefix_scan, sampling_scan> scan_type{};
|
|
66
62
|
std::chrono::milliseconds timeout{};
|
|
67
63
|
std::uint32_t collection_id{ 0 };
|
|
68
64
|
std::optional<range_snapshot_requirements> snapshot_requirements{};
|
|
@@ -88,10 +84,10 @@ struct range_scan_continue_options {
|
|
|
88
84
|
|
|
89
85
|
std::uint32_t batch_item_limit{ default_batch_item_limit };
|
|
90
86
|
std::uint32_t batch_byte_limit{ default_batch_byte_limit };
|
|
87
|
+
std::chrono::milliseconds timeout{};
|
|
91
88
|
std::chrono::milliseconds batch_time_limit{ default_batch_time_limit };
|
|
92
89
|
std::shared_ptr<couchbase::retry_strategy> retry_strategy{ nullptr };
|
|
93
90
|
|
|
94
|
-
bool ids_only{ false }; // support servers before MB-54267. TODO: remove after server GA
|
|
95
91
|
struct {
|
|
96
92
|
std::string user{};
|
|
97
93
|
} internal{};
|
|
@@ -126,7 +122,7 @@ struct range_scan_item_body {
|
|
|
126
122
|
};
|
|
127
123
|
|
|
128
124
|
struct range_scan_item {
|
|
129
|
-
std::
|
|
125
|
+
std::string key{};
|
|
130
126
|
std::optional<range_scan_item_body> body{};
|
|
131
127
|
};
|
|
132
128
|
|