Class KeyRange

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
com.google.spanner.v1.KeyRange
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, KeyRangeOrBuilder, Serializable

public final class KeyRange extends com.google.protobuf.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
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    KeyRange represents a range of rows in a table or index.
    static enum 
     
    static enum 
     

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

    com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     

    Fields inherited from class com.google.protobuf.GeneratedMessageV3

    alwaysUseFieldBuilders, unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessage

    memoizedSize

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    static KeyRange
     
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.ListValue
    If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.
    com.google.protobuf.ListValueOrBuilder
    If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.
     
    com.google.protobuf.ListValue
    If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.
    com.google.protobuf.ListValueOrBuilder
    If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.
    com.google.protobuf.Parser<KeyRange>
     
    int
     
    com.google.protobuf.ListValue
    If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.
    com.google.protobuf.ListValueOrBuilder
    If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.
     
    com.google.protobuf.ListValue
    If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.
    com.google.protobuf.ListValueOrBuilder
    If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.
    boolean
    If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.
    boolean
    If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.
    int
     
    boolean
    If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.
    boolean
    If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
     
    final boolean
     
     
    newBuilder(KeyRange prototype)
     
     
    newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
     
    protected Object
    newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
     
    static KeyRange
     
    static KeyRange
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static KeyRange
    parseFrom(byte[] data)
     
    static KeyRange
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static KeyRange
    parseFrom(com.google.protobuf.ByteString data)
     
    static KeyRange
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static KeyRange
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    static KeyRange
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static KeyRange
     
    static KeyRange
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static KeyRange
     
    static KeyRange
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<KeyRange>
     
     
    void
    writeTo(com.google.protobuf.CodedOutputStream output)
     

    Methods inherited from class com.google.protobuf.GeneratedMessageV3

    canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, 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

    Methods inherited from class com.google.protobuf.AbstractMessage

    findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLite

    toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Field Details

    • START_CLOSED_FIELD_NUMBER

      public static final int START_CLOSED_FIELD_NUMBER
      See Also:
    • START_OPEN_FIELD_NUMBER

      public static final int START_OPEN_FIELD_NUMBER
      See Also:
    • END_CLOSED_FIELD_NUMBER

      public static final int END_CLOSED_FIELD_NUMBER
      See Also:
    • END_OPEN_FIELD_NUMBER

      public static final int END_OPEN_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • getStartKeyTypeCase

      public KeyRange.StartKeyTypeCase getStartKeyTypeCase()
      Specified by:
      getStartKeyTypeCase in interface KeyRangeOrBuilder
    • getEndKeyTypeCase

      public KeyRange.EndKeyTypeCase getEndKeyTypeCase()
      Specified by:
      getEndKeyTypeCase in interface KeyRangeOrBuilder
    • hasStartClosed

      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;
      Specified by:
      hasStartClosed in interface KeyRangeOrBuilder
      Returns:
      Whether the startClosed field is set.
    • getStartClosed

      public com.google.protobuf.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;
      Specified by:
      getStartClosed in interface KeyRangeOrBuilder
      Returns:
      The startClosed.
    • getStartClosedOrBuilder

      public com.google.protobuf.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;
      Specified by:
      getStartClosedOrBuilder in interface KeyRangeOrBuilder
    • hasStartOpen

      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;
      Specified by:
      hasStartOpen in interface KeyRangeOrBuilder
      Returns:
      Whether the startOpen field is set.
    • getStartOpen

      public com.google.protobuf.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;
      Specified by:
      getStartOpen in interface KeyRangeOrBuilder
      Returns:
      The startOpen.
    • getStartOpenOrBuilder

      public com.google.protobuf.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;
      Specified by:
      getStartOpenOrBuilder in interface KeyRangeOrBuilder
    • hasEndClosed

      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;
      Specified by:
      hasEndClosed in interface KeyRangeOrBuilder
      Returns:
      Whether the endClosed field is set.
    • getEndClosed

      public com.google.protobuf.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;
      Specified by:
      getEndClosed in interface KeyRangeOrBuilder
      Returns:
      The endClosed.
    • getEndClosedOrBuilder

      public com.google.protobuf.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;
      Specified by:
      getEndClosedOrBuilder in interface KeyRangeOrBuilder
    • hasEndOpen

      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;
      Specified by:
      hasEndOpen in interface KeyRangeOrBuilder
      Returns:
      Whether the endOpen field is set.
    • getEndOpen

      public com.google.protobuf.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;
      Specified by:
      getEndOpen in interface KeyRangeOrBuilder
      Returns:
      The endOpen.
    • getEndOpenOrBuilder

      public com.google.protobuf.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;
      Specified by:
      getEndOpenOrBuilder in interface KeyRangeOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static KeyRange parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static KeyRange parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static KeyRange parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static KeyRange parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static KeyRange parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static KeyRange parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static KeyRange parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static KeyRange parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static KeyRange parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static KeyRange parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static KeyRange parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static KeyRange parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public KeyRange.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static KeyRange.Builder newBuilder()
    • newBuilder

      public static KeyRange.Builder newBuilder(KeyRange prototype)
    • toBuilder

      public KeyRange.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected KeyRange.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static KeyRange getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<KeyRange> parser()
    • getParserForType

      public com.google.protobuf.Parser<KeyRange> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public KeyRange getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder