couchbase 4.4.6-dev.1 → 4.5.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 +3 -165
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +12 -1
- 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 +753 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_meter.hxx +198 -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 +54 -16
- 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 +12 -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 +9 -0
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/error.cxx +1 -0
- 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 +83 -34
- 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/origin.cxx +0 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +2 -11
- 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 +688 -238
- 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 +71 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_result.hxx +66 -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 +4 -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/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 +109 -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 +102 -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 +85 -38
- package/dist/binding.js +14 -7
- package/dist/bindingutilities.d.ts +16 -4
- package/dist/bindingutilities.js +248 -43
- 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 +318 -1
- 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 +83 -7
- 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
package/dist/bindingutilities.js
CHANGED
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
29
|
exports.eventingFunctionLanguageCompatibilityFromCpp = exports.eventingFunctionLanguageCompatibilityToCpp = exports.eventingFunctionLogLevelFromCpp = exports.eventingFunctionLogLevelToCpp = exports.eventingFunctionProcessingStatusFromCpp = exports.eventingFunctionProcessingStatusToCpp = exports.eventingFunctionDeploymentStatusFromCpp = exports.eventingFunctionDeploymentStatusToCpp = exports.eventingFunctionDcpBoundaryFromCpp = exports.eventingFunctionDcpBoundaryToCpp = exports.eventingBucketBindingAccessFromCpp = exports.eventingBucketBindingAccessToCpp = exports.transactionKeyspaceToCpp = exports.designDocumentNamespaceToCpp = exports.designDocumentNamespaceFromCpp = exports.vectorQueryCombinationToCpp = exports.bucketConflictResolutionTypeFromCpp = exports.bucketConflictResolutionTypeToCpp = exports.bucketStorageBackendFromCpp = exports.bucketStorageBackendToCpp = exports.bucketEvictionPolicyFromCpp = exports.bucketEvictionPolicyToCpp = exports.bucketCompressionModeFromCpp = exports.bucketCompressionModeToCpp = exports.bucketTypeFromCpp = exports.bucketTypeToCpp = exports.scanTypeToCpp = exports.errorFromCpp = exports.contextFromCpp = exports.pingStateFromCpp = exports.txnOpExeptionFromCpp = exports.txnExternalExceptionStringFromCpp = exports.endpointStateFromCpp = exports.serviceTypeFromCpp = exports.serviceTypeToCpp = exports.mutationStateToCpp = exports.searchHighlightStyleToCpp = exports.searchScanConsistencyToCpp = exports.analyticsStatusFromCpp = exports.analyticsScanConsistencyToCpp = exports.queryProfileToCpp = exports.queryScanConsistencyFromCpp = exports.queryScanConsistencyToCpp = exports.viewOrderingToCpp = exports.viewScanConsistencyToCpp = exports.storeSemanticToCpp = exports.replicateToToCpp = exports.persistToToCpp = exports.durabilityFromCpp = exports.durabilityToCpp = void 0;
|
30
|
-
exports.authDomainFromCpp = exports.authDomainToCpp = exports.encryptionSettingsFromCpp = exports.encryptionSettingsToCpp = exports.encryptionLevelToCpp = exports.couchbaseLinkEncryptionLevelFromCpp = exports.eventingFunctionStatusFromCpp = void 0;
|
30
|
+
exports.transactionGetMultiReplicasFromPreferredServerGroupModeToCpp = exports.transactionGetMultiModeToCpp = exports.readPreferenceToCpp = exports.authDomainFromCpp = exports.authDomainToCpp = exports.encryptionSettingsFromCpp = exports.encryptionSettingsToCpp = exports.encryptionLevelToCpp = exports.couchbaseLinkEncryptionLevelFromCpp = exports.eventingFunctionStatusFromCpp = void 0;
|
31
31
|
const analyticstypes_1 = require("./analyticstypes");
|
32
32
|
const analyticsindexmanager_1 = require("./analyticsindexmanager");
|
33
33
|
const binding_1 = __importDefault(require("./binding"));
|
@@ -39,6 +39,7 @@ const generaltypes_1 = require("./generaltypes");
|
|
39
39
|
const querytypes_1 = require("./querytypes");
|
40
40
|
const rangeScan_1 = require("./rangeScan");
|
41
41
|
const searchtypes_1 = require("./searchtypes");
|
42
|
+
const transactions_1 = require("./transactions");
|
42
43
|
const utilities_1 = require("./utilities");
|
43
44
|
const vectorsearch_1 = require("./vectorsearch");
|
44
45
|
const viewtypes_1 = require("./viewtypes");
|
@@ -431,77 +432,95 @@ exports.endpointStateFromCpp = endpointStateFromCpp;
|
|
431
432
|
/**
|
432
433
|
* @internal
|
433
434
|
*/
|
434
|
-
function txnExternalExceptionStringFromCpp(cause) {
|
435
|
-
if (cause === binding_1.default.
|
435
|
+
function txnExternalExceptionStringFromCpp(cause, message) {
|
436
|
+
if (cause === binding_1.default.transactions_external_exception.UNKNOWN) {
|
437
|
+
if (message) {
|
438
|
+
return message;
|
439
|
+
}
|
436
440
|
return 'unknown';
|
437
441
|
}
|
438
442
|
else if (cause ===
|
439
|
-
binding_1.default.
|
443
|
+
binding_1.default.transactions_external_exception
|
444
|
+
.ACTIVE_TRANSACTION_RECORD_ENTRY_NOT_FOUND) {
|
440
445
|
return 'active_transaction_record_entry_not_found';
|
441
446
|
}
|
442
|
-
else if (cause ===
|
447
|
+
else if (cause ===
|
448
|
+
binding_1.default.transactions_external_exception.ACTIVE_TRANSACTION_RECORD_FULL) {
|
443
449
|
return 'active_transaction_record_full';
|
444
450
|
}
|
445
|
-
else if (cause ===
|
451
|
+
else if (cause ===
|
452
|
+
binding_1.default.transactions_external_exception.ACTIVE_TRANSACTION_RECORD_NOT_FOUND) {
|
446
453
|
return 'active_transaction_record_not_found';
|
447
454
|
}
|
448
|
-
else if (cause ===
|
455
|
+
else if (cause ===
|
456
|
+
binding_1.default.transactions_external_exception.DOCUMENT_ALREADY_IN_TRANSACTION) {
|
449
457
|
return 'document_already_in_transaction';
|
450
458
|
}
|
451
|
-
else if (cause === binding_1.default.
|
459
|
+
else if (cause === binding_1.default.transactions_external_exception.DOCUMENT_EXISTS_EXCEPTION) {
|
452
460
|
return 'document_exists_exception';
|
453
461
|
}
|
454
|
-
else if (cause ===
|
462
|
+
else if (cause ===
|
463
|
+
binding_1.default.transactions_external_exception.DOCUMENT_NOT_FOUND_EXCEPTION) {
|
455
464
|
return 'document_not_found_exception';
|
456
465
|
}
|
457
|
-
else if (cause === binding_1.default.
|
466
|
+
else if (cause === binding_1.default.transactions_external_exception.NOT_SET) {
|
458
467
|
return 'not_set';
|
459
468
|
}
|
460
|
-
else if (cause ===
|
469
|
+
else if (cause ===
|
470
|
+
binding_1.default.transactions_external_exception.FEATURE_NOT_AVAILABLE_EXCEPTION) {
|
461
471
|
return 'feature_not_available_exception';
|
462
472
|
}
|
463
|
-
else if (cause ===
|
473
|
+
else if (cause ===
|
474
|
+
binding_1.default.transactions_external_exception.TRANSACTION_ABORTED_EXTERNALLY) {
|
464
475
|
return 'transaction_aborted_externally';
|
465
476
|
}
|
466
|
-
else if (cause === binding_1.default.
|
477
|
+
else if (cause === binding_1.default.transactions_external_exception.PREVIOUS_OPERATION_FAILED) {
|
467
478
|
return 'previous_operation_failed';
|
468
479
|
}
|
469
|
-
else if (cause ===
|
480
|
+
else if (cause ===
|
481
|
+
binding_1.default.transactions_external_exception.FORWARD_COMPATIBILITY_FAILURE) {
|
470
482
|
return 'forward_compatibility_failure';
|
471
483
|
}
|
472
|
-
else if (cause === binding_1.default.
|
484
|
+
else if (cause === binding_1.default.transactions_external_exception.PARSING_FAILURE) {
|
473
485
|
return 'parsing_failure';
|
474
486
|
}
|
475
|
-
else if (cause === binding_1.default.
|
487
|
+
else if (cause === binding_1.default.transactions_external_exception.ILLEGAL_STATE_EXCEPTION) {
|
476
488
|
return 'illegal_state_exception';
|
477
489
|
}
|
478
|
-
else if (cause === binding_1.default.
|
490
|
+
else if (cause === binding_1.default.transactions_external_exception.COUCHBASE_EXCEPTION) {
|
479
491
|
return 'couchbase_exception';
|
480
492
|
}
|
481
|
-
else if (cause ===
|
493
|
+
else if (cause ===
|
494
|
+
binding_1.default.transactions_external_exception.SERVICE_NOT_AVAILABLE_EXCEPTION) {
|
482
495
|
return 'service_not_available_exception';
|
483
496
|
}
|
484
|
-
else if (cause === binding_1.default.
|
497
|
+
else if (cause === binding_1.default.transactions_external_exception.REQUEST_CANCELED_EXCEPTION) {
|
485
498
|
return 'request_canceled_exception';
|
486
499
|
}
|
487
500
|
else if (cause ===
|
488
|
-
binding_1.default.
|
489
|
-
.
|
501
|
+
binding_1.default.transactions_external_exception
|
502
|
+
.CONCURRENT_OPERATIONS_DETECTED_ON_SAME_DOCUMENT) {
|
490
503
|
return 'concurrent_operations_detected_on_same_document';
|
491
504
|
}
|
492
|
-
else if (cause === binding_1.default.
|
505
|
+
else if (cause === binding_1.default.transactions_external_exception.COMMIT_NOT_PERMITTED) {
|
493
506
|
return 'commit_not_permitted';
|
494
507
|
}
|
495
|
-
else if (cause === binding_1.default.
|
508
|
+
else if (cause === binding_1.default.transactions_external_exception.ROLLBACK_NOT_PERMITTED) {
|
496
509
|
return 'rollback_not_permitted';
|
497
510
|
}
|
498
|
-
else if (cause ===
|
511
|
+
else if (cause ===
|
512
|
+
binding_1.default.transactions_external_exception.TRANSACTION_ALREADY_ABORTED) {
|
499
513
|
return 'transaction_already_aborted';
|
500
514
|
}
|
501
|
-
else if (cause ===
|
515
|
+
else if (cause ===
|
516
|
+
binding_1.default.transactions_external_exception.TRANSACTION_ALREADY_COMMITTED) {
|
502
517
|
return 'transaction_already_committed';
|
503
518
|
}
|
504
|
-
|
519
|
+
else if (cause ===
|
520
|
+
binding_1.default.transactions_external_exception.DOCUMENT_UNRETRIEVABLE_EXCEPTION) {
|
521
|
+
return 'document_unretrievable_exception';
|
522
|
+
}
|
523
|
+
return 'unknown';
|
505
524
|
}
|
506
525
|
exports.txnExternalExceptionStringFromCpp = txnExternalExceptionStringFromCpp;
|
507
526
|
/**
|
@@ -512,19 +531,25 @@ function txnOpExeptionFromCpp(err, ctx) {
|
|
512
531
|
return null;
|
513
532
|
}
|
514
533
|
const context = ctx ? ctx : undefined;
|
515
|
-
if (err.cause ===
|
516
|
-
|
534
|
+
if (err.cause ===
|
535
|
+
binding_1.default.transactions_external_exception.DOCUMENT_EXISTS_EXCEPTION) {
|
536
|
+
return new errs.DocumentExistsError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
517
537
|
}
|
518
|
-
else if (err.cause ===
|
519
|
-
|
538
|
+
else if (err.cause ===
|
539
|
+
binding_1.default.transactions_external_exception.DOCUMENT_NOT_FOUND_EXCEPTION) {
|
540
|
+
return new errs.DocumentNotFoundError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
520
541
|
}
|
521
|
-
else if (err.cause === binding_1.default.
|
522
|
-
return new errs.ParsingFailureError(new Error(txnExternalExceptionStringFromCpp(err.cause)), context);
|
542
|
+
else if (err.cause === binding_1.default.transactions_external_exception.PARSING_FAILURE) {
|
543
|
+
return new errs.ParsingFailureError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
523
544
|
}
|
524
|
-
else if (err.cause === binding_1.default.
|
525
|
-
const cause = txnExternalExceptionStringFromCpp(err.cause);
|
545
|
+
else if (err.cause === binding_1.default.transactions_external_exception.COUCHBASE_EXCEPTION) {
|
546
|
+
const cause = txnExternalExceptionStringFromCpp(err.cause, err.message);
|
526
547
|
return new errs.CouchbaseError(cause, new Error(cause), context);
|
527
548
|
}
|
549
|
+
else if (err.cause ===
|
550
|
+
binding_1.default.transactions_external_exception.DOCUMENT_UNRETRIEVABLE_EXCEPTION) {
|
551
|
+
return new errs.DocumentUnretrievableError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)), context);
|
552
|
+
}
|
528
553
|
return err;
|
529
554
|
}
|
530
555
|
exports.txnOpExeptionFromCpp = txnOpExeptionFromCpp;
|
@@ -551,6 +576,10 @@ function contextFromCpp(err) {
|
|
551
576
|
if (!err) {
|
552
577
|
return null;
|
553
578
|
}
|
579
|
+
let retry_reasons = [];
|
580
|
+
if ('retry_reasons' in err) {
|
581
|
+
retry_reasons = err.retry_reasons.map(retryReasonFromCpp);
|
582
|
+
}
|
554
583
|
let context = null;
|
555
584
|
if (err.ctxtype === 'key_value') {
|
556
585
|
context = new errctxs.KeyValueErrorContext({
|
@@ -563,6 +592,12 @@ function contextFromCpp(err) {
|
|
563
592
|
scope: err.id ? err.id.scope : '',
|
564
593
|
context: err.enhanced_error_info ? err.enhanced_error_info.context : '',
|
565
594
|
ref: err.enhanced_error_info ? err.enhanced_error_info.reference : '',
|
595
|
+
last_dispatched_from: err.last_dispatched_from
|
596
|
+
? err.last_dispatched_from
|
597
|
+
: '',
|
598
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
599
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
600
|
+
retry_reasons: retry_reasons,
|
566
601
|
});
|
567
602
|
}
|
568
603
|
else if (err.ctxtype === 'view') {
|
@@ -572,6 +607,12 @@ function contextFromCpp(err) {
|
|
572
607
|
parameters: err.query_string,
|
573
608
|
http_response_code: err.http_status,
|
574
609
|
http_response_body: err.http_body,
|
610
|
+
last_dispatched_from: err.last_dispatched_from
|
611
|
+
? err.last_dispatched_from
|
612
|
+
: '',
|
613
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
614
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
615
|
+
retry_reasons: retry_reasons,
|
575
616
|
});
|
576
617
|
}
|
577
618
|
else if (err.ctxtype === 'query') {
|
@@ -581,6 +622,12 @@ function contextFromCpp(err) {
|
|
581
622
|
parameters: err.parameters,
|
582
623
|
http_response_code: err.http_status,
|
583
624
|
http_response_body: err.http_body,
|
625
|
+
last_dispatched_from: err.last_dispatched_from
|
626
|
+
? err.last_dispatched_from
|
627
|
+
: '',
|
628
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
629
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
630
|
+
retry_reasons: retry_reasons,
|
584
631
|
});
|
585
632
|
}
|
586
633
|
else if (err.ctxtype === 'search') {
|
@@ -590,6 +637,12 @@ function contextFromCpp(err) {
|
|
590
637
|
parameters: err.parameters,
|
591
638
|
http_response_code: err.http_status,
|
592
639
|
http_response_body: err.http_body,
|
640
|
+
last_dispatched_from: err.last_dispatched_from
|
641
|
+
? err.last_dispatched_from
|
642
|
+
: '',
|
643
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
644
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
645
|
+
retry_reasons: retry_reasons,
|
593
646
|
});
|
594
647
|
}
|
595
648
|
else if (err.ctxtype === 'analytics') {
|
@@ -599,6 +652,12 @@ function contextFromCpp(err) {
|
|
599
652
|
parameters: err.parameters,
|
600
653
|
http_response_code: err.http_status,
|
601
654
|
http_response_body: err.http_body,
|
655
|
+
last_dispatched_from: err.last_dispatched_from
|
656
|
+
? err.last_dispatched_from
|
657
|
+
: '',
|
658
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
659
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
660
|
+
retry_reasons: retry_reasons,
|
602
661
|
});
|
603
662
|
}
|
604
663
|
else if (err.ctxtype === 'http') {
|
@@ -607,11 +666,88 @@ function contextFromCpp(err) {
|
|
607
666
|
request_path: err.path,
|
608
667
|
response_code: err.http_status,
|
609
668
|
response_body: err.http_body,
|
669
|
+
last_dispatched_from: err.last_dispatched_from
|
670
|
+
? err.last_dispatched_from
|
671
|
+
: '',
|
672
|
+
last_dispatched_to: err.last_dispatched_to ? err.last_dispatched_to : '',
|
673
|
+
retry_attempts: err.retry_attempts ? err.retry_attempts : 0,
|
674
|
+
retry_reasons: retry_reasons,
|
610
675
|
});
|
611
676
|
}
|
612
677
|
return context;
|
613
678
|
}
|
614
679
|
exports.contextFromCpp = contextFromCpp;
|
680
|
+
/**
|
681
|
+
* @internal
|
682
|
+
*/
|
683
|
+
function retryReasonFromCpp(reason) {
|
684
|
+
if (reason === binding_1.default.retry_reason.do_not_retry) {
|
685
|
+
return 'do_not_retry';
|
686
|
+
}
|
687
|
+
else if (reason === binding_1.default.retry_reason.unknown) {
|
688
|
+
return 'unknown';
|
689
|
+
}
|
690
|
+
else if (reason === binding_1.default.retry_reason.socket_not_available) {
|
691
|
+
return 'socket_not_available';
|
692
|
+
}
|
693
|
+
else if (reason === binding_1.default.retry_reason.service_not_available) {
|
694
|
+
return 'service_not_available';
|
695
|
+
}
|
696
|
+
else if (reason === binding_1.default.retry_reason.node_not_available) {
|
697
|
+
return 'node_not_available';
|
698
|
+
}
|
699
|
+
else if (reason === binding_1.default.retry_reason.key_value_not_my_vbucket) {
|
700
|
+
return 'key_value_not_my_vbucket';
|
701
|
+
}
|
702
|
+
else if (reason === binding_1.default.retry_reason.key_value_collection_outdated) {
|
703
|
+
return 'key_value_collection_outdated';
|
704
|
+
}
|
705
|
+
else if (reason === binding_1.default.retry_reason.key_value_error_map_retry_indicated) {
|
706
|
+
return 'key_value_error_map_retry_indicated';
|
707
|
+
}
|
708
|
+
else if (reason === binding_1.default.retry_reason.key_value_locked) {
|
709
|
+
return 'key_value_locked';
|
710
|
+
}
|
711
|
+
else if (reason === binding_1.default.retry_reason.key_value_temporary_failure) {
|
712
|
+
return 'key_value_temporary_failure';
|
713
|
+
}
|
714
|
+
else if (reason === binding_1.default.retry_reason.key_value_sync_write_in_progress) {
|
715
|
+
return 'key_value_sync_write_in_progress';
|
716
|
+
}
|
717
|
+
else if (reason === binding_1.default.retry_reason.key_value_sync_write_re_commit_in_progress) {
|
718
|
+
return 'key_value_sync_write_re_commit_in_progress';
|
719
|
+
}
|
720
|
+
else if (reason === binding_1.default.retry_reason.service_response_code_indicated) {
|
721
|
+
return 'service_response_code_indicated';
|
722
|
+
}
|
723
|
+
else if (reason === binding_1.default.retry_reason.socket_closed_while_in_flight) {
|
724
|
+
return 'socket_closed_while_in_flight';
|
725
|
+
}
|
726
|
+
else if (reason === binding_1.default.retry_reason.circuit_breaker_open) {
|
727
|
+
return 'circuit_breaker_open';
|
728
|
+
}
|
729
|
+
else if (reason === binding_1.default.retry_reason.query_prepared_statement_failure) {
|
730
|
+
return 'query_prepared_statement_failure';
|
731
|
+
}
|
732
|
+
else if (reason === binding_1.default.retry_reason.query_index_not_found) {
|
733
|
+
return 'query_index_not_found';
|
734
|
+
}
|
735
|
+
else if (reason === binding_1.default.retry_reason.analytics_temporary_failure) {
|
736
|
+
return 'analytics_temporary_failure';
|
737
|
+
}
|
738
|
+
else if (reason === binding_1.default.retry_reason.search_too_many_requests) {
|
739
|
+
return 'search_too_many_requests';
|
740
|
+
}
|
741
|
+
else if (reason === binding_1.default.retry_reason.views_temporary_failure) {
|
742
|
+
return 'views_temporary_failure';
|
743
|
+
}
|
744
|
+
else if (reason === binding_1.default.retry_reason.views_no_active_partition) {
|
745
|
+
return 'views_no_active_partition';
|
746
|
+
}
|
747
|
+
else {
|
748
|
+
return 'unknown';
|
749
|
+
}
|
750
|
+
}
|
615
751
|
/**
|
616
752
|
* @internal
|
617
753
|
*/
|
@@ -622,12 +758,12 @@ function errorFromCpp(err) {
|
|
622
758
|
}
|
623
759
|
// BUG(JSCBC-1010): We shouldn't need to special case these.
|
624
760
|
if (err.ctxtype === 'transaction_operation_failed') {
|
625
|
-
const cause = txnExternalExceptionStringFromCpp(err.cause);
|
761
|
+
const cause = txnExternalExceptionStringFromCpp(err.cause, err.message);
|
626
762
|
if (cause == 'feature_not_available_exception') {
|
627
763
|
const msg = 'Possibly attempting a binary transaction operation with a server version < 7.6.2';
|
628
764
|
return new errs.TransactionOperationFailedError(new errs.FeatureNotAvailableError(new Error(msg)));
|
629
765
|
}
|
630
|
-
return new errs.TransactionOperationFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause)));
|
766
|
+
return new errs.TransactionOperationFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
631
767
|
}
|
632
768
|
else if (err.ctxtype === 'transaction_op_exception') {
|
633
769
|
let txnContext = null;
|
@@ -637,20 +773,23 @@ function errorFromCpp(err) {
|
|
637
773
|
return txnOpExeptionFromCpp(err, txnContext);
|
638
774
|
}
|
639
775
|
else if (err.ctxtype === 'transaction_exception') {
|
640
|
-
if (err.type === binding_1.default.
|
641
|
-
return new errs.TransactionFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause)));
|
776
|
+
if (err.type === binding_1.default.transactions_failure_type.FAIL) {
|
777
|
+
return new errs.TransactionFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
642
778
|
}
|
643
|
-
else if (err.type === binding_1.default.
|
644
|
-
return new errs.TransactionExpiredError(new Error(txnExternalExceptionStringFromCpp(err.cause)));
|
779
|
+
else if (err.type === binding_1.default.transactions_failure_type.EXPIRY) {
|
780
|
+
return new errs.TransactionExpiredError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
645
781
|
}
|
646
|
-
else if (err.type === binding_1.default.
|
647
|
-
return new errs.TransactionCommitAmbiguousError(new Error(txnExternalExceptionStringFromCpp(err.cause)));
|
782
|
+
else if (err.type === binding_1.default.transactions_failure_type.COMMIT_AMBIGUOUS) {
|
783
|
+
return new errs.TransactionCommitAmbiguousError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
648
784
|
}
|
649
|
-
|
785
|
+
return new errs.TransactionFailedError(new Error(txnExternalExceptionStringFromCpp(err.cause, err.message)));
|
650
786
|
}
|
651
787
|
const baseErr = err;
|
652
788
|
const contextOrNull = contextFromCpp(err);
|
653
789
|
const context = contextOrNull ? contextOrNull : undefined;
|
790
|
+
if ('retry_reasons' in baseErr && Array.isArray(baseErr.retry_reasons)) {
|
791
|
+
baseErr.retry_reasons = baseErr.retry_reasons.map(retryReasonFromCpp);
|
792
|
+
}
|
654
793
|
switch (err.code) {
|
655
794
|
case binding_1.default.errc_common.request_canceled:
|
656
795
|
return new errs.RequestCanceledError(baseErr, context);
|
@@ -1428,3 +1567,69 @@ function authDomainFromCpp(domain) {
|
|
1428
1567
|
throw new errs.InvalidArgumentError(new Error('Unrecognized CppManagementRbacAuthDomain.'));
|
1429
1568
|
}
|
1430
1569
|
exports.authDomainFromCpp = authDomainFromCpp;
|
1570
|
+
/**
|
1571
|
+
* @internal
|
1572
|
+
*/
|
1573
|
+
function readPreferenceToCpp(preference) {
|
1574
|
+
// Unspecified is allowed, and means no preference.
|
1575
|
+
if (preference === null || preference === undefined) {
|
1576
|
+
return binding_1.default.read_preference.no_preference;
|
1577
|
+
}
|
1578
|
+
if (preference === generaltypes_1.ReadPreference.NoPreference) {
|
1579
|
+
return binding_1.default.read_preference.no_preference;
|
1580
|
+
}
|
1581
|
+
else if (preference === generaltypes_1.ReadPreference.SelectedServerGroup) {
|
1582
|
+
return binding_1.default.read_preference.selected_server_group;
|
1583
|
+
}
|
1584
|
+
throw new errs.InvalidArgumentError(new Error('Unrecognized ReadPreference.'));
|
1585
|
+
}
|
1586
|
+
exports.readPreferenceToCpp = readPreferenceToCpp;
|
1587
|
+
/**
|
1588
|
+
* @internal
|
1589
|
+
*/
|
1590
|
+
function transactionGetMultiModeToCpp(mode) {
|
1591
|
+
if (mode === null || mode === undefined) {
|
1592
|
+
return undefined;
|
1593
|
+
}
|
1594
|
+
if (mode === transactions_1.TransactionGetMultiMode.PrioritiseLatency) {
|
1595
|
+
return binding_1.default.transactions_transaction_get_multi_mode.prioritise_latency;
|
1596
|
+
}
|
1597
|
+
else if (mode === transactions_1.TransactionGetMultiMode.DisableReadSkewDetection) {
|
1598
|
+
return binding_1.default.transactions_transaction_get_multi_mode
|
1599
|
+
.disable_read_skew_detection;
|
1600
|
+
}
|
1601
|
+
else if (mode === transactions_1.TransactionGetMultiMode.PrioritiseReadSkewDetection) {
|
1602
|
+
return binding_1.default.transactions_transaction_get_multi_mode
|
1603
|
+
.prioritise_read_skew_detection;
|
1604
|
+
}
|
1605
|
+
throw new errs.InvalidArgumentError(new Error('Unrecognized TransactionGetMultiMode.'));
|
1606
|
+
}
|
1607
|
+
exports.transactionGetMultiModeToCpp = transactionGetMultiModeToCpp;
|
1608
|
+
/**
|
1609
|
+
* @internal
|
1610
|
+
*/
|
1611
|
+
function transactionGetMultiReplicasFromPreferredServerGroupModeToCpp(mode) {
|
1612
|
+
if (mode === null || mode === undefined) {
|
1613
|
+
return undefined;
|
1614
|
+
}
|
1615
|
+
if (mode ===
|
1616
|
+
transactions_1.TransactionGetMultiReplicasFromPreferredServerGroupMode.PrioritiseLatency) {
|
1617
|
+
return binding_1.default
|
1618
|
+
.transactions_transaction_get_multi_replicas_from_preferred_server_group_mode
|
1619
|
+
.prioritise_latency;
|
1620
|
+
}
|
1621
|
+
else if (mode ===
|
1622
|
+
transactions_1.TransactionGetMultiReplicasFromPreferredServerGroupMode.DisableReadSkewDetection) {
|
1623
|
+
return binding_1.default
|
1624
|
+
.transactions_transaction_get_multi_replicas_from_preferred_server_group_mode
|
1625
|
+
.disable_read_skew_detection;
|
1626
|
+
}
|
1627
|
+
else if (mode ===
|
1628
|
+
transactions_1.TransactionGetMultiReplicasFromPreferredServerGroupMode.PrioritiseReadSkewDetection) {
|
1629
|
+
return binding_1.default
|
1630
|
+
.transactions_transaction_get_multi_replicas_from_preferred_server_group_mode
|
1631
|
+
.prioritise_read_skew_detection;
|
1632
|
+
}
|
1633
|
+
throw new errs.InvalidArgumentError(new Error('Unrecognized TransactionGetMultiReplicasFromPreferredServerGroupMode.'));
|
1634
|
+
}
|
1635
|
+
exports.transactionGetMultiReplicasFromPreferredServerGroupModeToCpp = transactionGetMultiReplicasFromPreferredServerGroupModeToCpp;
|
package/dist/cluster.d.ts
CHANGED
@@ -98,6 +98,33 @@ export interface DnsConfig {
|
|
98
98
|
*/
|
99
99
|
dnsSrvTimeout?: number;
|
100
100
|
}
|
101
|
+
/**
|
102
|
+
* Specifies Application Telemetry options for the client.
|
103
|
+
*
|
104
|
+
* @category Core
|
105
|
+
*/
|
106
|
+
export interface AppTelemetryConfig {
|
107
|
+
/**
|
108
|
+
* Specifies if application telemetry feature should be enabled or not.
|
109
|
+
*/
|
110
|
+
enabled?: boolean;
|
111
|
+
/**
|
112
|
+
* Specifies an endpoint to override the application metrics endpoint discovered during configuration.
|
113
|
+
*/
|
114
|
+
endpoint?: string;
|
115
|
+
/**
|
116
|
+
* Specifies the time to wait before attempting a websocket reconnection, specified in millseconds.
|
117
|
+
*/
|
118
|
+
backoff?: number;
|
119
|
+
/**
|
120
|
+
* Specifies the time to wait between sending consecutive websocket PING commands to the server, specified in millseconds.
|
121
|
+
*/
|
122
|
+
pingInterval?: number;
|
123
|
+
/**
|
124
|
+
* Specifies the time allowed for the server to respond to websocket PING command, specified in millseconds.
|
125
|
+
*/
|
126
|
+
pingTimeout?: number;
|
127
|
+
}
|
101
128
|
/**
|
102
129
|
* Specifies the options which can be specified when connecting
|
103
130
|
* to a cluster.
|
@@ -150,6 +177,16 @@ export interface ConnectOptions {
|
|
150
177
|
*
|
151
178
|
*/
|
152
179
|
configProfile?: string;
|
180
|
+
/**
|
181
|
+
* Specifies the preferred server group to use for replica operations that specify a non-default
|
182
|
+
* read preference.
|
183
|
+
*/
|
184
|
+
preferredServerGroup?: string;
|
185
|
+
/**
|
186
|
+
* Specifies the Application Telemetry config for connections of this cluster.
|
187
|
+
*
|
188
|
+
*/
|
189
|
+
appTelemetryConfig?: AppTelemetryConfig;
|
153
190
|
}
|
154
191
|
/**
|
155
192
|
* Exposes the operations which are available to be performed against a cluster.
|
@@ -178,6 +215,8 @@ export declare class Cluster {
|
|
178
215
|
private _transactions?;
|
179
216
|
private _openBuckets;
|
180
217
|
private _dnsConfig;
|
218
|
+
private _preferredServerGroup;
|
219
|
+
private _appTelemetryConfig;
|
181
220
|
/**
|
182
221
|
* @internal
|
183
222
|
*/
|
package/dist/cluster.js
CHANGED
@@ -110,7 +110,7 @@ class Cluster {
|
|
110
110
|
[util_1.inspect.custom]() {
|
111
111
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
112
112
|
const { _auth, ...rest } = this;
|
113
|
-
return { ...rest, _auth:
|
113
|
+
return { ...rest, _auth: '***hidden***' };
|
114
114
|
}
|
115
115
|
/**
|
116
116
|
* @internal
|
@@ -118,7 +118,7 @@ class Cluster {
|
|
118
118
|
toJSON() {
|
119
119
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
120
120
|
const { _auth, ...rest } = this;
|
121
|
-
return { ...rest, _auth:
|
121
|
+
return { ...rest, _auth: '***hidden***' };
|
122
122
|
}
|
123
123
|
/**
|
124
124
|
@internal
|
@@ -156,6 +156,9 @@ class Cluster {
|
|
156
156
|
else {
|
157
157
|
this._transcoder = new transcoders_1.DefaultTranscoder();
|
158
158
|
}
|
159
|
+
if (options.preferredServerGroup) {
|
160
|
+
this._preferredServerGroup = options.preferredServerGroup;
|
161
|
+
}
|
159
162
|
if (options.transactions) {
|
160
163
|
this._txnConfig = options.transactions;
|
161
164
|
}
|
@@ -193,6 +196,18 @@ class Cluster {
|
|
193
196
|
else {
|
194
197
|
this._dnsConfig = null;
|
195
198
|
}
|
199
|
+
if (options.appTelemetryConfig) {
|
200
|
+
this._appTelemetryConfig = {
|
201
|
+
enabled: options.appTelemetryConfig.enabled,
|
202
|
+
endpoint: options.appTelemetryConfig.endpoint,
|
203
|
+
backoff: options.appTelemetryConfig.backoff,
|
204
|
+
pingInterval: options.appTelemetryConfig.pingInterval,
|
205
|
+
pingTimeout: options.appTelemetryConfig.pingTimeout,
|
206
|
+
};
|
207
|
+
}
|
208
|
+
else {
|
209
|
+
this._appTelemetryConfig = null;
|
210
|
+
}
|
196
211
|
this._openBuckets = [];
|
197
212
|
this._conn = new binding_1.default.Connection();
|
198
213
|
}
|
@@ -433,6 +448,9 @@ class Cluster {
|
|
433
448
|
if (this.resolveTimeout) {
|
434
449
|
dsnObj.options['resolve_timeout'] = this.resolveTimeout.toString();
|
435
450
|
}
|
451
|
+
if (this._preferredServerGroup) {
|
452
|
+
dsnObj.options['server_group'] = this._preferredServerGroup;
|
453
|
+
}
|
436
454
|
const connStr = dsnObj.toString();
|
437
455
|
const authOpts = {};
|
438
456
|
// lets allow `allowed_sasl_mechanisms` to override legacy connstr option
|
@@ -463,7 +481,7 @@ class Cluster {
|
|
463
481
|
authOpts.key_path = certAuth.keyPath;
|
464
482
|
}
|
465
483
|
}
|
466
|
-
this._conn.connect(connStr, authOpts, this._dnsConfig, (cppErr) => {
|
484
|
+
this._conn.connect(connStr, authOpts, this._dnsConfig, this._appTelemetryConfig, (cppErr) => {
|
467
485
|
if (cppErr) {
|
468
486
|
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
469
487
|
return reject(err);
|
package/dist/collection.d.ts
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
+
/// <reference types="node" />
|
2
3
|
import { IncrementOptions, DecrementOptions, AppendOptions, PrependOptions, BinaryCollection } from './binarycollection';
|
3
4
|
import { CppDocumentId, CppConnection, CppScanIterator, CppRangeScanOrchestratorOptions } from './binding';
|
4
5
|
import { Cluster } from './cluster';
|
5
6
|
import { CounterResult, ExistsResult, GetReplicaResult, GetResult, LookupInResult, LookupInReplicaResult, MutateInResult, MutationResult, ScanResult } from './crudoptypes';
|
6
7
|
import { CouchbaseList, CouchbaseMap, CouchbaseQueue, CouchbaseSet } from './datastructures';
|
7
|
-
import { DurabilityLevel, StoreSemantics } from './generaltypes';
|
8
|
+
import { DurabilityLevel, ReadPreference, StoreSemantics } from './generaltypes';
|
8
9
|
import { MutationState } from './mutationstate';
|
9
10
|
import { CollectionQueryIndexManager } from './queryindexmanager';
|
10
11
|
import { RangeScan, SamplingScan, PrefixScan } from './rangeScan';
|
@@ -200,6 +201,10 @@ export interface GetAnyReplicaOptions {
|
|
200
201
|
* The timeout for this operation, represented in milliseconds.
|
201
202
|
*/
|
202
203
|
timeout?: number;
|
204
|
+
/**
|
205
|
+
* Specifies how replica nodes will be filtered.
|
206
|
+
*/
|
207
|
+
readPreference?: ReadPreference;
|
203
208
|
}
|
204
209
|
/**
|
205
210
|
* @category Key-Value
|
@@ -213,6 +218,10 @@ export interface GetAllReplicasOptions {
|
|
213
218
|
* The timeout for this operation, represented in milliseconds.
|
214
219
|
*/
|
215
220
|
timeout?: number;
|
221
|
+
/**
|
222
|
+
* Specifies how replica nodes will be filtered.
|
223
|
+
*/
|
224
|
+
readPreference?: ReadPreference;
|
216
225
|
}
|
217
226
|
/**
|
218
227
|
* @category Key-Value
|
@@ -285,6 +294,10 @@ export interface LookupInAnyReplicaOptions {
|
|
285
294
|
* The timeout for this operation, represented in milliseconds.
|
286
295
|
*/
|
287
296
|
timeout?: number;
|
297
|
+
/**
|
298
|
+
* Specifies how replica nodes will be filtered.
|
299
|
+
*/
|
300
|
+
readPreference?: ReadPreference;
|
288
301
|
}
|
289
302
|
/**
|
290
303
|
* @category Key-Value
|
@@ -294,6 +307,10 @@ export interface LookupInAllReplicasOptions {
|
|
294
307
|
* The timeout for this operation, represented in milliseconds.
|
295
308
|
*/
|
296
309
|
timeout?: number;
|
310
|
+
/**
|
311
|
+
* Specifies how replica nodes will be filtered.
|
312
|
+
*/
|
313
|
+
readPreference?: ReadPreference;
|
297
314
|
}
|
298
315
|
/**
|
299
316
|
* @category Key-Value
|
@@ -469,6 +486,7 @@ export declare class Collection {
|
|
469
486
|
_getReplica(key: string, getAllReplicas: boolean, options?: {
|
470
487
|
transcoder?: Transcoder;
|
471
488
|
timeout?: number;
|
489
|
+
readPreference?: ReadPreference;
|
472
490
|
}, callback?: NodeCallback<GetReplicaResult[]>): StreamableReplicasPromise<GetReplicaResult[], GetReplicaResult>;
|
473
491
|
/**
|
474
492
|
* Retrieves the value of the document from any of the available replicas. This
|
@@ -596,6 +614,7 @@ export declare class Collection {
|
|
596
614
|
*/
|
597
615
|
_lookupInReplica(key: string, lookupInAllReplicas: boolean, specs: LookupInSpec[], options?: {
|
598
616
|
timeout?: number;
|
617
|
+
readPreference?: ReadPreference;
|
599
618
|
}, callback?: NodeCallback<LookupInReplicaResult[]>): StreamableReplicasPromise<LookupInReplicaResult[], LookupInReplicaResult>;
|
600
619
|
/**
|
601
620
|
* Performs a lookup-in operation against a document, fetching individual fields or
|