Get desktop application:
View/edit binary Protocol Buffers messages
If the command specifies a docLocation use the collection within it, otherwise fall back on CollectionLevelCommand.collection.
Used in:
Used in:
Used in:
KV range scan support. See CBD-5161 for requirements.
Query index management support - All APIs available to the Cluster level QueryIndexManager: cluster.queryIndexes()
All APIs available to the Collection level CollectionQueryIndexManager: collection.queryIndexes()
Can execute cluster.search() with all SearchOptions. This is everything under sdk.search.proto, except VectorQuery.
Supports sdk.search.VectorQuery. Support for SDK_SEARCH is a prerequisite.
Support for SDK_VECTOR_SEARCH is a prerequisite.
Can execute scope.search() with all SearchOptions. Support for SDK_SEARCH is a prerequisite.
The SDK implements support for search SDK-RFC 52 revision 11. (Improved FeatureNotAvailable handling against older clusters for scoped and vector indexes)
Can execute all APIs under cluster.searchIndexes(), with all options. This is everything under sdk.management.search.proto.
Can execute all APIs under scope.searchIndexes(), with all options. This is everything under sdk.management.scope.search.proto.
The performer supports WaitUntilReady with options, at cluster and bucket level
The SDK supports couchbase2:// connection strings
The performer supports the BucketManager API. This is everything under sdk.cluster.bucket_manager
The performer supports the EventingFunctionManager API. This is everything under sdk.cluster.eventing_function_manager
The performer supports ClusterLevelCommand.query, ScopeLevelCommand.query, and everything needed by sdk.query.Command it supports sending results back with sdk.query.QueryResult Does not include the use_replica Query option
Implements base LookupIn functionality from sdk.collection.lookup_in.proto
Implements LookupInAllReplicas and LookupInAnyReplica messages from sdk.collection.lookup_in.proto
The performer implements everything under sdk.kv.commands and sdk.kv.mutate_in, and is able to support all forms of shared.Content for Get and MutateIn commands The performer cap KV_SUPPORT_1 is a prerequisite
Supports Extended SDK Observability SDK-RFC 67 revision 24. E.g. the SDK is sending additional metric tags. Support for performer cap OBSERVABILITY_1 is a pre-requisite.
Implements history retention settings for bucket and collection management.
The performer supports the CollectionManager API. This is everything under sdk.bucket.collection_manager
SDK can report the SDK_DOCUMENT_NOT_LOCKED_EXCEPTION error. The SDK_KV cap is a pre-requisite.
The SDK implements support for index management SDK-RFC 54 revision 25. (Improved FeatureNotAvailable handling against older clusters for scoped and vector indexes)
The SDK implements support for observability with couchbase2, as specified in SDK-RFC 77.
The SDK implements support for Zone aware read from replica in Lookupin and Get operations The options requiring support are SELECTED_SERVER_GROUP Add SDK_ZONE_AWARE_READ_FROM_REPLICA_SELECTED_SERVER_GROUP_OR_ALL_AVAILABLE if your performer also supports the optional SELECTED_SERVER_GROUP_OR_ALL_AVAILABLE mode.
The SDK will send cluster name and uuid labels in spans and metrics. OBSERVABILITY_1 is a prerequisite. (But not SDK_OBSERVABILITY_RFC_REV_24)
The SDK implements support for the Application Telemetry feature, as detailed in SDK-RFC 84.
The SDK implements the num_vbuckets attribute of BucketSettings
The SDK implements support for Vector Search prefiltering.
The SDK supports setting both positional and named parameters for query and analytics_query. * SDK3 Query RFC Revision #9 * SDK3 Analytics RFC Revision #3
The SDK supports the Authenticator type.
The SDK supports setting a new Authenticator.
The SDK supports JwtAuthenticator.
The SDK supports the stable OpenTelemetry semantic conventions (ExtendedObservability RFC Rev 26)
The SDK emits the stable OpenTelemetry semantic conventions by default. SDK_STABLE_OTEL_SEMANTIC_CONVENTIONS is a pre-requisite. This should only be declared by SDKs that do not support the legacy semantic conventions (C++ & wrappers, Rust).
The SDK supports the collection.getOrNull() API.
The SDK supports the RESUMING status in the result of functions_status() of the eventing management API.
Used in:
QueryIndexManager: cluster.queryIndexes()
cluster.searchQuery() - original FTS API
cluster.search() - updated FTS API
SearchIndexManager: cluster.searchIndexes()
cluster.authenticator()
If the command specifies a docLocation use the collection within it, otherwise fall back on CollectionLevelCommand.collection.
Used in:
Should be passed in any collection level command that does not have a Location in the message for the command
CollectionQueryIndexManager: collection.queryIndexes()
Used in:
KV commands. These would be added to CollectionLevelCommand if added now.
With Serverless making it increasingly common that we have similar APIs at Cluster, Scope and/or Collection levels, it's becoming more important to separate them. GRPC added from now on should go into one of these four.
Whether the returned CommandResult should contain a full result or just `success`. Used for performance tests when the result doesn't matter so the small cost of creating it can be eliminated. It only affects successful results. Failure should report the full exception, as that continues to be useful in performance tests.
The API to use to execute this command.
The result of executing a single sdk.Command.
Used in:
If the small overhead of creating a full *Result is not required (e.g. for performance testing), can return this generic success instead. Controlled by SdkCommand.returnResult.
If the operation failed.
If the SDK return null/none/undefined. Nb the SDK should very rarely do this! It is reserved for cases like getOrNull.
If the operation succeeded and sdk.Command.returnResult==true, return one of these.
List of indexes returned by a GetAllIndexes request
Search results.
Bucket manager results
Eventing function manager results
Query results
LookupIn results
Collection manager results
Used in:
scope.search() - updated FTS API
ScopeSearchIndexManager: scope.searchIndexes()
scope.searchQuery() - original FTS API Now deprecated as revision 10 of the RFC removes this (it was only implemented by one SDK). The SDK should implement only scope.search(), not scope.searchQuery(). FIT will not use this field.
Used in:
The commands to run. The performer should execute these in a loop until `bounds` is completed. If there are multiple commands, each should register as separate command for the purposes of bounding, and each should send back one CommandResult. For example, if the bounds specifies to run 10 commands total, and there are 3 Command specified here, the performer should execute the 3 commands 3 times, and then the first command once more. And 10 sdk.Results will be sent back. If the command fails, the performer should not propagate the failure (but should still send back an sdk.Result).
Controls how the commands should be run. If it's not present, just run the commands through once.