Class 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:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  KeyRange.Builder
      KeyRange represents a range of rows in a table or index.
      static class  KeyRange.EndKeyTypeCase  
      static class  KeyRange.StartKeyTypeCase  
      • 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 int END_CLOSED_FIELD_NUMBER  
      static int END_OPEN_FIELD_NUMBER  
      static int START_CLOSED_FIELD_NUMBER  
      static int START_OPEN_FIELD_NUMBER  
      • 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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(Object obj)  
      static KeyRange getDefaultInstance()  
      KeyRange getDefaultInstanceForType()  
      static com.google.protobuf.Descriptors.Descriptor getDescriptor()  
      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`.
      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`.
      KeyRange.EndKeyTypeCase getEndKeyTypeCase()  
      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`.
      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`.
      com.google.protobuf.Parser<KeyRange> getParserForType()  
      int getSerializedSize()  
      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`.
      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`.
      KeyRange.StartKeyTypeCase getStartKeyTypeCase()  
      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`.
      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`.
      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 com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()  
      boolean isInitialized()  
      static KeyRange.Builder newBuilder()  
      static KeyRange.Builder newBuilder​(KeyRange prototype)  
      KeyRange.Builder newBuilderForType()  
      protected KeyRange.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)  
      protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)  
      static KeyRange parseDelimitedFrom​(InputStream input)  
      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 parseFrom​(InputStream input)  
      static KeyRange parseFrom​(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static KeyRange parseFrom​(ByteBuffer data)  
      static KeyRange parseFrom​(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<KeyRange> parser()  
      KeyRange.Builder toBuilder()  
      void writeTo​(com.google.protobuf.CodedOutputStream output)  
      • Methods inherited from class com.google.protobuf.GeneratedMessageV3

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

      • 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
      • 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​(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
      • 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