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 details the \u003ccode\u003eKeySet\u003c/code\u003e class within the \u003ccode\u003eGoogle.Cloud.Spanner.V1\u003c/code\u003e namespace, which is used for defining collections of keys and key ranges in Cloud Spanner.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eKeySet\u003c/code\u003e can be configured to represent all keys in a table or index, or can specify a list of \u003ccode\u003eKeys\u003c/code\u003e or \u003ccode\u003eRanges\u003c/code\u003e to define a more limited subset, and duplicate keys are considered only once.\u003c/p\u003e\n"],["\u003cp\u003eThe page lists the different available versions of \u003ccode\u003eKeySet\u003c/code\u003e, from the latest beta version \u003ccode\u003e5.0.0-beta05\u003c/code\u003e, down to version \u003ccode\u003e3.5.0\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKeySet\u003c/code\u003e class implements multiple interfaces, including \u003ccode\u003eIMessage<KeySet>\u003c/code\u003e, \u003ccode\u003eIEquatable<KeySet>\u003c/code\u003e, \u003ccode\u003eIDeepCloneable<KeySet>\u003c/code\u003e, \u003ccode\u003eIBufferMessage\u003c/code\u003e, and \u003ccode\u003eIMessage\u003c/code\u003e, ensuring robust functionality.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKeySet\u003c/code\u003e class contains the following properties : \u003ccode\u003eAll\u003c/code\u003e, \u003ccode\u003eKeys\u003c/code\u003e, and \u003ccode\u003eRanges\u003c/code\u003e, as well as containing the constructors \u003ccode\u003eKeySet()\u003c/code\u003e and \u003ccode\u003eKeySet(KeySet other)\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]