public final class KeyRange extends GeneratedMessageV3 implements KeyRangeOrBuilder
KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the ith value in the list corresponds to the ith component of the table or index primary key. Individual values are encoded as described [here][google.spanner.v1.TypeCode]. For example, consider the following table definition: CREATE TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this table: ["Bob", "2014-09-23"] ["Alfred", "2015-06-12"] Since the `UserEvents` table's `PRIMARY KEY` clause names two columns, each `UserEvents` key has two elements; the first is the `UserName`, and the second is the `EventDate`. Key ranges with multiple components are interpreted lexicographically by component using the table or index key's declared sort order. For example, the following range returns all events for user `"Bob"` that occurred in the year 2015: "start_closed": ["Bob", "2015-01-01"] "end_closed": ["Bob", "2015-12-31"] Start and end keys can omit trailing key components. This affects the inclusion and exclusion of rows that exactly match the provided key components: if the key is closed, then rows that exactly match the provided components are included; if the key is open, then rows that exactly match are not included. For example, the following range includes all events for `"Bob"` that occurred during and after the year 2000: "start_closed": ["Bob", "2000-01-01"] "end_closed": ["Bob"] The next example retrieves all events for `"Bob"`: "start_closed": ["Bob"] "end_closed": ["Bob"] To retrieve events before the year 2000: "start_closed": ["Bob"] "end_open": ["Bob", "2000-01-01"] The following range includes all rows in the table: "start_closed": [] "end_closed": [] This range returns all users whose `UserName` begins with any character from A to C: "start_closed": ["A"] "end_open": ["D"] This range returns all users whose `UserName` begins with B: "start_closed": ["B"] "end_open": ["C"] Key ranges honor column sort order. For example, suppose a table is defined as follows: CREATE TABLE DescendingSortedTable { Key INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all rows with key values between 1 and 100 inclusive: "start_closed": ["100"] "end_closed": ["1"] Note that 100 is passed as the start, and 1 is passed as the end, because `Key` is a descending column in the schema.Protobuf type
google.spanner.v1.KeyRange
Modifier and Type | Class and Description |
---|---|
static class |
KeyRange.Builder
KeyRange represents a range of rows in a table or index.
|
static class |
KeyRange.EndKeyTypeCase |
static class |
KeyRange.StartKeyTypeCase |
GeneratedMessageV3.BuilderParent, GeneratedMessageV3.ExtendableBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage,BuilderType extends GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, GeneratedMessageV3.ExtendableMessage<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.FieldAccessorTable, GeneratedMessageV3.UnusedPrivateParameter
AbstractMessageLite.InternalOneOfEnum
Modifier and Type | Field and Description |
---|---|
static int |
END_CLOSED_FIELD_NUMBER |
static int |
END_OPEN_FIELD_NUMBER |
static int |
START_CLOSED_FIELD_NUMBER |
static int |
START_OPEN_FIELD_NUMBER |
alwaysUseFieldBuilders, unknownFields
memoizedSize
memoizedHashCode
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
static KeyRange |
getDefaultInstance() |
KeyRange |
getDefaultInstanceForType() |
static Descriptors.Descriptor |
getDescriptor() |
ListValue |
getEndClosed()
If the end is closed, then the range includes all rows whose
first `len(end_closed)` key columns exactly match `end_closed`.
|
ListValueOrBuilder |
getEndClosedOrBuilder()
If the end is closed, then the range includes all rows whose
first `len(end_closed)` key columns exactly match `end_closed`.
|
KeyRange.EndKeyTypeCase |
getEndKeyTypeCase() |
ListValue |
getEndOpen()
If the end is open, then the range excludes rows whose first
`len(end_open)` key columns exactly match `end_open`.
|
ListValueOrBuilder |
getEndOpenOrBuilder()
If the end is open, then the range excludes rows whose first
`len(end_open)` key columns exactly match `end_open`.
|
Parser<KeyRange> |
getParserForType() |
int |
getSerializedSize() |
ListValue |
getStartClosed()
If the start is closed, then the range includes all rows whose
first `len(start_closed)` key columns exactly match `start_closed`.
|
ListValueOrBuilder |
getStartClosedOrBuilder()
If the start is closed, then the range includes all rows whose
first `len(start_closed)` key columns exactly match `start_closed`.
|
KeyRange.StartKeyTypeCase |
getStartKeyTypeCase() |
ListValue |
getStartOpen()
If the start is open, then the range excludes rows whose first
`len(start_open)` key columns exactly match `start_open`.
|
ListValueOrBuilder |
getStartOpenOrBuilder()
If the start is open, then the range excludes rows whose first
`len(start_open)` key columns exactly match `start_open`.
|
UnknownFieldSet |
getUnknownFields() |
boolean |
hasEndClosed()
If the end is closed, then the range includes all rows whose
first `len(end_closed)` key columns exactly match `end_closed`.
|
boolean |
hasEndOpen()
If the end is open, then the range excludes rows whose first
`len(end_open)` key columns exactly match `end_open`.
|
int |
hashCode() |
boolean |
hasStartClosed()
If the start is closed, then the range includes all rows whose
first `len(start_closed)` key columns exactly match `start_closed`.
|
boolean |
hasStartOpen()
If the start is open, then the range excludes rows whose first
`len(start_open)` key columns exactly match `start_open`.
|
protected GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static KeyRange.Builder |
newBuilder() |
static KeyRange.Builder |
newBuilder(KeyRange prototype) |
KeyRange.Builder |
newBuilderForType() |
protected KeyRange.Builder |
newBuilderForType(GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused) |
static KeyRange |
parseDelimitedFrom(InputStream input) |
static KeyRange |
parseDelimitedFrom(InputStream input,
ExtensionRegistryLite extensionRegistry) |
static KeyRange |
parseFrom(byte[] data) |
static KeyRange |
parseFrom(byte[] data,
ExtensionRegistryLite extensionRegistry) |
static KeyRange |
parseFrom(ByteBuffer data) |
static KeyRange |
parseFrom(ByteBuffer data,
ExtensionRegistryLite extensionRegistry) |
static KeyRange |
parseFrom(ByteString data) |
static KeyRange |
parseFrom(ByteString data,
ExtensionRegistryLite extensionRegistry) |
static KeyRange |
parseFrom(CodedInputStream input) |
static KeyRange |
parseFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry) |
static KeyRange |
parseFrom(InputStream input) |
static KeyRange |
parseFrom(InputStream input,
ExtensionRegistryLite extensionRegistry) |
static Parser<KeyRange> |
parser() |
KeyRange.Builder |
toBuilder() |
void |
writeTo(CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
toByteArray, toByteString, writeDelimitedTo, writeTo
public static final int START_CLOSED_FIELD_NUMBER
public static final int START_OPEN_FIELD_NUMBER
public static final int END_CLOSED_FIELD_NUMBER
public static final int END_OPEN_FIELD_NUMBER
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance
in class GeneratedMessageV3
public final UnknownFieldSet getUnknownFields()
getUnknownFields
in interface MessageOrBuilder
getUnknownFields
in class GeneratedMessageV3
public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class GeneratedMessageV3
public KeyRange.StartKeyTypeCase getStartKeyTypeCase()
getStartKeyTypeCase
in interface KeyRangeOrBuilder
public KeyRange.EndKeyTypeCase getEndKeyTypeCase()
getEndKeyTypeCase
in interface KeyRangeOrBuilder
public boolean hasStartClosed()
If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.
.google.protobuf.ListValue start_closed = 1;
hasStartClosed
in interface KeyRangeOrBuilder
public ListValue getStartClosed()
If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.
.google.protobuf.ListValue start_closed = 1;
getStartClosed
in interface KeyRangeOrBuilder
public ListValueOrBuilder getStartClosedOrBuilder()
If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.
.google.protobuf.ListValue start_closed = 1;
getStartClosedOrBuilder
in interface KeyRangeOrBuilder
public boolean hasStartOpen()
If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.
.google.protobuf.ListValue start_open = 2;
hasStartOpen
in interface KeyRangeOrBuilder
public ListValue getStartOpen()
If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.
.google.protobuf.ListValue start_open = 2;
getStartOpen
in interface KeyRangeOrBuilder
public ListValueOrBuilder getStartOpenOrBuilder()
If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.
.google.protobuf.ListValue start_open = 2;
getStartOpenOrBuilder
in interface KeyRangeOrBuilder
public boolean hasEndClosed()
If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.
.google.protobuf.ListValue end_closed = 3;
hasEndClosed
in interface KeyRangeOrBuilder
public ListValue getEndClosed()
If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.
.google.protobuf.ListValue end_closed = 3;
getEndClosed
in interface KeyRangeOrBuilder
public ListValueOrBuilder getEndClosedOrBuilder()
If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.
.google.protobuf.ListValue end_closed = 3;
getEndClosedOrBuilder
in interface KeyRangeOrBuilder
public boolean hasEndOpen()
If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.
.google.protobuf.ListValue end_open = 4;
hasEndOpen
in interface KeyRangeOrBuilder
public ListValue getEndOpen()
If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.
.google.protobuf.ListValue end_open = 4;
getEndOpen
in interface KeyRangeOrBuilder
public ListValueOrBuilder getEndOpenOrBuilder()
If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.
.google.protobuf.ListValue end_open = 4;
getEndOpenOrBuilder
in interface KeyRangeOrBuilder
public final boolean isInitialized()
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class GeneratedMessageV3
public void writeTo(CodedOutputStream output) throws IOException
writeTo
in interface MessageLite
writeTo
in class GeneratedMessageV3
IOException
public int getSerializedSize()
getSerializedSize
in interface MessageLite
getSerializedSize
in class GeneratedMessageV3
public boolean equals(Object obj)
equals
in interface Message
equals
in class AbstractMessage
public int hashCode()
hashCode
in interface Message
hashCode
in class AbstractMessage
public static KeyRange parseFrom(ByteBuffer data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static KeyRange parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static KeyRange parseFrom(ByteString data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static KeyRange parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static KeyRange parseFrom(byte[] data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static KeyRange parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static KeyRange parseFrom(InputStream input) throws IOException
IOException
public static KeyRange parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public static KeyRange parseDelimitedFrom(InputStream input) throws IOException
IOException
public static KeyRange parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public static KeyRange parseFrom(CodedInputStream input) throws IOException
IOException
public static KeyRange parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public KeyRange.Builder newBuilderForType()
newBuilderForType
in interface Message
newBuilderForType
in interface MessageLite
public static KeyRange.Builder newBuilder()
public static KeyRange.Builder newBuilder(KeyRange prototype)
public KeyRange.Builder toBuilder()
toBuilder
in interface Message
toBuilder
in interface MessageLite
protected KeyRange.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
newBuilderForType
in class GeneratedMessageV3
public static KeyRange getDefaultInstance()
public Parser<KeyRange> getParserForType()
getParserForType
in interface Message
getParserForType
in interface MessageLite
getParserForType
in class GeneratedMessageV3
public KeyRange getDefaultInstanceForType()
getDefaultInstanceForType
in interface MessageLiteOrBuilder
getDefaultInstanceForType
in interface MessageOrBuilder
Copyright © 2022 Google LLC. All rights reserved.