couchbase 4.2.11-rc.1 → 4.3.0
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 +49 -2
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +1 -0
- package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +2 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +51 -5
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +224 -209
- package/deps/couchbase-cxx-client/core/impl/query_error_context.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +1 -0
- package/deps/couchbase-cxx-client/core/io/dns_client.cxx +4 -0
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +15 -4
- package/deps/couchbase-cxx-client/core/io/dns_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +95 -53
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +1 -0
- package/deps/couchbase-cxx-client/core/mcbp/operation_queue.cxx +1 -0
- package/deps/couchbase-cxx-client/core/meta/features.hxx +5 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +116 -105
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +116 -108
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +97 -81
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +5 -0
- package/deps/couchbase-cxx-client/core/range_scan_load_balancer.cxx +141 -0
- package/deps/couchbase-cxx-client/core/range_scan_load_balancer.hxx +64 -0
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +224 -336
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.hxx +5 -6
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator_options.hxx +8 -5
- package/deps/couchbase-cxx-client/core/scan_result.hxx +1 -11
- package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +16 -7
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +578 -483
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.cxx +51 -50
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.hxx +4 -2
- package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.cxx +6 -6
- package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.hxx +3 -2
- package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +2 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +5 -1
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +222 -179
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +23 -12
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +61 -24
- package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +36 -16
- package/deps/couchbase-cxx-client/core/transactions/utils.cxx +9 -0
- package/deps/couchbase-cxx-client/core/transactions.hxx +40 -7
- package/deps/couchbase-cxx-client/couchbase/bucket.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +20 -1
- package/deps/couchbase-cxx-client/couchbase/collection.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/error_context.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/fork_event.hxx +39 -0
- package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/search_options.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/search_result.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/subdocument_error_context.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase-sdk-cxx-black-duck-manifest.yaml +1 -0
- package/dist/binding.d.ts +8 -0
- package/dist/bindingutilities.d.ts +6 -1
- package/dist/bindingutilities.js +15 -1
- package/dist/bucketmanager.d.ts +0 -12
- package/dist/cluster.d.ts +0 -2
- package/dist/cluster.js +0 -2
- package/dist/collection.d.ts +3 -3
- package/dist/collection.js +3 -1
- package/dist/querytypes.d.ts +0 -2
- package/dist/rangeScan.d.ts +0 -8
- package/dist/rangeScan.js +0 -8
- package/dist/scope.d.ts +0 -5
- package/dist/scope.js +0 -5
- package/dist/scopesearchindexmanager.d.ts +0 -2
- package/dist/scopesearchindexmanager.js +0 -2
- package/dist/searchexecutor.js +3 -1
- package/dist/searchtypes.d.ts +16 -6
- package/dist/searchtypes.js +2 -6
- package/dist/transactions.d.ts +23 -0
- package/dist/transactions.js +16 -10
- package/dist/vectorsearch.d.ts +8 -8
- package/dist/vectorsearch.js +7 -7
- package/package.json +7 -7
- package/src/instance.cpp +11 -1
- package/src/instance.hpp +1 -0
- package/src/jstocbpp_autogen.hpp +8 -1
- package/src/jstocbpp_transactions.hpp +40 -3
- package/src/transactions.cpp +12 -1
- package/tools/gen-bindings-json.py +0 -1
- package/deps/couchbase-cxx-client/core/scan_options.hxx +0 -44
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
##
|
|
2
2
|
## Bundle of CA Root Certificates
|
|
3
3
|
##
|
|
4
|
-
## Certificate data from Mozilla as of:
|
|
4
|
+
## Certificate data from Mozilla as of: Mon Mar 11 15:25:27 2024 GMT
|
|
5
5
|
##
|
|
6
6
|
## This is a bundle of X.509 certificates of public Certificate Authorities
|
|
7
7
|
## (CA). These were automatically extracted from Mozilla's root certificates
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
## Just configure this file as the SSLCACertificateFile.
|
|
15
15
|
##
|
|
16
16
|
## Conversion done with mk-ca-bundle.pl version 1.29.
|
|
17
|
-
## SHA256:
|
|
17
|
+
## SHA256: 4d96bd539f4719e9ace493757afbe4a23ee8579de1c97fbebc50bba3c12e8c1e
|
|
18
18
|
##
|
|
19
19
|
|
|
20
20
|
|
|
@@ -3532,3 +3532,50 @@ dVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670v64fG9PiO/yzcnMcmyiQ
|
|
|
3532
3532
|
iRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17Org3bhzjlP1v9mxnhMUF6cKojawHhRUzN
|
|
3533
3533
|
lM47ni3niAIi9G7oyOzWPPO5std3eqx7
|
|
3534
3534
|
-----END CERTIFICATE-----
|
|
3535
|
+
|
|
3536
|
+
Telekom Security TLS ECC Root 2020
|
|
3537
|
+
==================================
|
|
3538
|
+
-----BEGIN CERTIFICATE-----
|
|
3539
|
+
MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQswCQYDVQQGEwJE
|
|
3540
|
+
RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJUZWxl
|
|
3541
|
+
a29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIwMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIz
|
|
3542
|
+
NTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkg
|
|
3543
|
+
R21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqG
|
|
3544
|
+
SM49AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/OtdKPD/M1
|
|
3545
|
+
2kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDPf8iAC8GXs7s1J8nCG6NC
|
|
3546
|
+
MEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6fMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
|
|
3547
|
+
AQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZ
|
|
3548
|
+
Mo7k+5Dck2TOrbRBR2Diz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdU
|
|
3549
|
+
ga/sf+Rn27iQ7t0l
|
|
3550
|
+
-----END CERTIFICATE-----
|
|
3551
|
+
|
|
3552
|
+
Telekom Security TLS RSA Root 2023
|
|
3553
|
+
==================================
|
|
3554
|
+
-----BEGIN CERTIFICATE-----
|
|
3555
|
+
MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQG
|
|
3556
|
+
EwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJU
|
|
3557
|
+
ZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAyMDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMy
|
|
3558
|
+
NzIzNTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJp
|
|
3559
|
+
dHkgR21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIw
|
|
3560
|
+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9cUD/h3VC
|
|
3561
|
+
KSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHVcp6R+SPWcHu79ZvB7JPP
|
|
3562
|
+
GeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMAU6DksquDOFczJZSfvkgdmOGjup5czQRx
|
|
3563
|
+
UX11eKvzWarE4GC+j4NSuHUaQTXtvPM6Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWo
|
|
3564
|
+
l8hHD/BeEIvnHRz+sTugBTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9
|
|
3565
|
+
FIS3R/qy8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73Jco4v
|
|
3566
|
+
zLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg8qKrBC7m8kwOFjQg
|
|
3567
|
+
rIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8rFEz0ciD0cmfHdRHNCk+y7AO+oML
|
|
3568
|
+
KFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7S
|
|
3569
|
+
WWO/gLCMk3PLNaaZlSJhZQNg+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNV
|
|
3570
|
+
HQ4EFgQUtqeXgj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2
|
|
3571
|
+
p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQpGv7qHBFfLp+
|
|
3572
|
+
sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm9S3ul0A8Yute1hTWjOKWi0Fp
|
|
3573
|
+
kzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErwM807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy
|
|
3574
|
+
/SKE8YXJN3nptT+/XOR0so8RYgDdGGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4
|
|
3575
|
+
mZqTuXNnQkYRIer+CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtz
|
|
3576
|
+
aL1txKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+w6jv/naa
|
|
3577
|
+
oqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aKL4x35bcF7DvB7L6Gs4a8
|
|
3578
|
+
wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+ljX273CXE2whJdV/LItM3z7gLfEdxquVeE
|
|
3579
|
+
HVlNjM7IDiPCtyaaEBRx/pOyiriA8A4QntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0
|
|
3580
|
+
o82bNSQ3+pCTE4FCxpgmdTdmQRCsu/WU48IxK63nI1bMNSWSs1A=
|
|
3581
|
+
-----END CERTIFICATE-----
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1794c1d4f7055b7d02c2170337b61b48a2ef6c90d77e95444fd2596f4cac609f cacert.pem
|
|
@@ -360,6 +360,7 @@ set(couchbase_cxx_client_FILES
|
|
|
360
360
|
core/protocol/cmd_upsert.cxx
|
|
361
361
|
core/protocol/frame_info_utils.cxx
|
|
362
362
|
core/protocol/status.cxx
|
|
363
|
+
core/range_scan_load_balancer.cxx
|
|
363
364
|
core/range_scan_options.cxx
|
|
364
365
|
core/range_scan_orchestrator.cxx
|
|
365
366
|
core/retry_orchestrator.cxx
|
|
@@ -495,7 +495,7 @@ class bucket_impl
|
|
|
495
495
|
std::size_t i = start;
|
|
496
496
|
do {
|
|
497
497
|
auto ptr = sessions_.find(i % sessions_.size());
|
|
498
|
-
if (ptr != sessions_.end() && ptr->second.supports_gcccp()) {
|
|
498
|
+
if (ptr != sessions_.end() && ptr->second.is_bootstrapped() && ptr->second.supports_gcccp()) {
|
|
499
499
|
session = ptr->second;
|
|
500
500
|
}
|
|
501
501
|
i = heartbeat_next_index_.fetch_add(1);
|
|
@@ -506,7 +506,7 @@ class bucket_impl
|
|
|
506
506
|
req.opaque(session->next_opaque());
|
|
507
507
|
session->write_and_flush(req.data());
|
|
508
508
|
} else {
|
|
509
|
-
CB_LOG_WARNING(R"({} unable to find session with GCCCP support, retry in {})", log_prefix_, heartbeat_interval_);
|
|
509
|
+
CB_LOG_WARNING(R"({} unable to find connected session with GCCCP support, retry in {})", log_prefix_, heartbeat_interval_);
|
|
510
510
|
}
|
|
511
511
|
}
|
|
512
512
|
|
|
@@ -157,10 +157,30 @@ class cluster_impl : public std::enable_shared_from_this<cluster_impl>
|
|
|
157
157
|
public:
|
|
158
158
|
explicit cluster_impl(couchbase::core::cluster core)
|
|
159
159
|
: core_{ std::move(core) }
|
|
160
|
-
, transactions_{ std::make_shared<couchbase::core::transactions::transactions>(core_, core_.origin().second.options().transactions) }
|
|
161
160
|
{
|
|
162
161
|
}
|
|
163
162
|
|
|
163
|
+
explicit cluster_impl(couchbase::core::cluster core, std::shared_ptr<couchbase::core::transactions::transactions> transactions)
|
|
164
|
+
: core_{ std::move(core) }
|
|
165
|
+
, transactions_{ transactions }
|
|
166
|
+
{
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
void initialize_transactions(std::function<void(std::error_code)>&& handler)
|
|
170
|
+
{
|
|
171
|
+
return core::transactions::transactions::create(
|
|
172
|
+
core_,
|
|
173
|
+
core_.origin().second.options().transactions,
|
|
174
|
+
[self = shared_from_this(), handler = std::move(handler)](auto ec, auto txns) mutable {
|
|
175
|
+
if (ec) {
|
|
176
|
+
return handler(ec);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
self->transactions_ = txns;
|
|
180
|
+
handler({});
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
164
184
|
void query(std::string statement, query_options::built options, query_handler&& handler) const
|
|
165
185
|
{
|
|
166
186
|
return core_.execute(
|
|
@@ -214,6 +234,13 @@ class cluster_impl : public std::enable_shared_from_this<cluster_impl>
|
|
|
214
234
|
});
|
|
215
235
|
}
|
|
216
236
|
|
|
237
|
+
void notify_fork(fork_event event)
|
|
238
|
+
{
|
|
239
|
+
if (transactions_) {
|
|
240
|
+
transactions_->notify_fork(event);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
217
244
|
void close(core::utils::movable_function<void()> handler)
|
|
218
245
|
{
|
|
219
246
|
if (transactions_) {
|
|
@@ -258,6 +285,11 @@ cluster::cluster(core::cluster core)
|
|
|
258
285
|
{
|
|
259
286
|
}
|
|
260
287
|
|
|
288
|
+
cluster::cluster(core::cluster core, std::shared_ptr<core::transactions::transactions> transactions)
|
|
289
|
+
: impl_{ std::make_shared<cluster_impl>(std::move(core), transactions) }
|
|
290
|
+
{
|
|
291
|
+
}
|
|
292
|
+
|
|
261
293
|
void
|
|
262
294
|
cluster::query(std::string statement, const query_options& options, query_handler&& handler) const
|
|
263
295
|
{
|
|
@@ -361,9 +393,8 @@ cluster::connect(asio::io_context& io, const std::string& connection_string, con
|
|
|
361
393
|
-> std::future<std::pair<cluster, std::error_code>>
|
|
362
394
|
{
|
|
363
395
|
auto barrier = std::make_shared<std::promise<std::pair<cluster, std::error_code>>>();
|
|
364
|
-
auto
|
|
365
|
-
|
|
366
|
-
return future;
|
|
396
|
+
connect(io, connection_string, options, [barrier](auto c, auto ec) mutable { barrier->set_value({ std::move(c), ec }); });
|
|
397
|
+
return barrier->get_future();
|
|
367
398
|
}
|
|
368
399
|
|
|
369
400
|
void
|
|
@@ -378,10 +409,25 @@ cluster::connect(asio::io_context& io,
|
|
|
378
409
|
if (ec) {
|
|
379
410
|
return handler({}, ec);
|
|
380
411
|
}
|
|
381
|
-
|
|
412
|
+
auto cluster = couchbase::cluster(std::move(core));
|
|
413
|
+
return cluster.impl_->initialize_transactions([cluster, handler = std::move(handler)](std::error_code ec) mutable {
|
|
414
|
+
if (ec) {
|
|
415
|
+
return cluster.impl_->close([ec, handler = std::move(handler)]() mutable { return handler({}, ec); });
|
|
416
|
+
}
|
|
417
|
+
return handler(cluster, ec);
|
|
418
|
+
});
|
|
382
419
|
});
|
|
383
420
|
}
|
|
384
421
|
|
|
422
|
+
auto
|
|
423
|
+
cluster::notify_fork(fork_event event) -> void
|
|
424
|
+
{
|
|
425
|
+
if (!impl_) {
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
return impl_->notify_fork(event);
|
|
429
|
+
}
|
|
430
|
+
|
|
385
431
|
auto
|
|
386
432
|
cluster::close() const -> void
|
|
387
433
|
{
|