public sealed class KeySet : IMessage<KeySet>, IEquatable<KeySet>, IDeepCloneable<KeySet>, IBufferMessage, IMessage
KeySet defines a collection of Cloud Spanner keys and/or key ranges. All
the keys are expected to be in the same table or index. The keys need
not be sorted in any particular way.
If the same key is specified multiple times in the set (for example
if two ranges, two keys, or a key and a range overlap), Cloud Spanner
behaves as if the key were only specified once.
For convenience all can be set to true to indicate that this
KeySet matches all keys in the table or index. Note that any keys
specified in keys or ranges are only yielded once.
A list of specific keys. Entries in keys should have exactly as
many elements as there are columns in the primary or index key
with which this KeySet is used. Individual key values are
encoded as described [here][google.spanner.v1.TypeCode].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eKeySet\u003c/code\u003e class within the \u003ccode\u003eGoogle.Cloud.Spanner.V1\u003c/code\u003e namespace, detailing its structure and functionality for managing Cloud Spanner keys and key ranges.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKeySet\u003c/code\u003e class allows for the definition of a collection of keys and/or key ranges, all of which are expected to reside within the same table or index, without any particular sorting order.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version documentation for the \u003ccode\u003eKeySet\u003c/code\u003e class is version 5.0.0-beta05, and multiple other previous versions are available, dating back to version 3.5.0, for reference.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKeySet\u003c/code\u003e class implements interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and it offers properties like \u003ccode\u003eAll\u003c/code\u003e, \u003ccode\u003eKeys\u003c/code\u003e, and \u003ccode\u003eRanges\u003c/code\u003e for comprehensive key management.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eKeySet\u003c/code\u003e has methods to indicate that all keys are valid via the \u003ccode\u003eAll\u003c/code\u003e property, as well as an implementation allowing users to set specific keys via \u003ccode\u003eKeys\u003c/code\u003e or ranges via \u003ccode\u003eRanges\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]