Package com.google.bigtable.v2
Class PartialResultSet
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
com.google.bigtable.v2.PartialResultSet
- All Implemented Interfaces:
PartialResultSetOrBuilder,com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Serializable
public final class PartialResultSet
extends com.google.protobuf.GeneratedMessageV3
implements PartialResultSetOrBuilder
A partial result set from the streaming query API.
Cloud Bigtable clients buffer partial results received in this message until
a `resume_token` is received.
The pseudocode below describes how to buffer and parse a stream of
`PartialResultSet` messages.
Having:
- queue of row results waiting to be returned `queue`
- extensible buffer of bytes `buffer`
- a place to keep track of the most recent `resume_token`
for each PartialResultSet `p` received {
if p.reset {
ensure `queue` is empty
ensure `buffer` is empty
}
if p.estimated_batch_size != 0 {
(optional) ensure `buffer` is sized to at least `p.estimated_batch_size`
}
if `p.proto_rows_batch` is set {
append `p.proto_rows_batch.bytes` to `buffer`
}
if p.batch_checksum is set and `buffer` is not empty {
validate the checksum matches the contents of `buffer`
(see comments on `batch_checksum`)
parse `buffer` as `ProtoRows` message, clearing `buffer`
add parsed rows to end of `queue`
}
if p.resume_token is set {
release results in `queue`
save `p.resume_token` in `resume_token`
}
}
Protobuf type google.bigtable.v2.PartialResultSet- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA partial result set from the streaming query API.static enumNested 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
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanintCRC32C checksum of concatenated `partial_rows` data for the current batch.static PartialResultSetstatic final com.google.protobuf.Descriptors.DescriptorintEstimated size of the buffer required to hold the next batch of results.com.google.protobuf.Parser<PartialResultSet>Partial rows in serialized ProtoRows format.Partial rows in serialized ProtoRows format.booleangetReset()If `true`, any data buffered since the last non-empty `resume_token` must be discarded before the other parts of this message, if any, are handled.com.google.protobuf.ByteStringAn opaque token sent by the server to allow query resumption and signal that the buffered values constructed from received `partial_rows` can be yielded to the caller.intbooleanCRC32C checksum of concatenated `partial_rows` data for the current batch.inthashCode()booleanPartial rows in serialized ProtoRows format.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic PartialResultSet.Builderstatic PartialResultSet.BuildernewBuilder(PartialResultSet prototype) protected PartialResultSet.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static PartialResultSetparseDelimitedFrom(InputStream input) static PartialResultSetparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static PartialResultSetparseFrom(byte[] data) static PartialResultSetparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static PartialResultSetparseFrom(com.google.protobuf.ByteString data) static PartialResultSetparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static PartialResultSetparseFrom(com.google.protobuf.CodedInputStream input) static PartialResultSetparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static PartialResultSetparseFrom(InputStream input) static PartialResultSetparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static PartialResultSetparseFrom(ByteBuffer data) static PartialResultSetparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<PartialResultSet>parser()voidwriteTo(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, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
PROTO_ROWS_BATCH_FIELD_NUMBER
public static final int PROTO_ROWS_BATCH_FIELD_NUMBER- See Also:
-
BATCH_CHECKSUM_FIELD_NUMBER
public static final int BATCH_CHECKSUM_FIELD_NUMBER- See Also:
-
RESUME_TOKEN_FIELD_NUMBER
public static final int RESUME_TOKEN_FIELD_NUMBER- See Also:
-
RESET_FIELD_NUMBER
public static final int RESET_FIELD_NUMBER- See Also:
-
ESTIMATED_BATCH_SIZE_FIELD_NUMBER
public static final int ESTIMATED_BATCH_SIZE_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getPartialRowsCase
- Specified by:
getPartialRowsCasein interfacePartialResultSetOrBuilder
-
hasProtoRowsBatch
public boolean hasProtoRowsBatch()Partial rows in serialized ProtoRows format.
.google.bigtable.v2.ProtoRowsBatch proto_rows_batch = 3;- Specified by:
hasProtoRowsBatchin interfacePartialResultSetOrBuilder- Returns:
- Whether the protoRowsBatch field is set.
-
getProtoRowsBatch
Partial rows in serialized ProtoRows format.
.google.bigtable.v2.ProtoRowsBatch proto_rows_batch = 3;- Specified by:
getProtoRowsBatchin interfacePartialResultSetOrBuilder- Returns:
- The protoRowsBatch.
-
getProtoRowsBatchOrBuilder
Partial rows in serialized ProtoRows format.
.google.bigtable.v2.ProtoRowsBatch proto_rows_batch = 3;- Specified by:
getProtoRowsBatchOrBuilderin interfacePartialResultSetOrBuilder
-
hasBatchChecksum
public boolean hasBatchChecksum()CRC32C checksum of concatenated `partial_rows` data for the current batch. When present, the buffered data from `partial_rows` forms a complete parseable message of the appropriate type. The client should mark the end of a parseable message and prepare to receive a new one starting from the next `PartialResultSet` message. Clients must verify the checksum of the serialized batch before yielding it to the caller. This does NOT mean the values can be yielded to the callers since a `resume_token` is required to safely do so. If `resume_token` is non-empty and any data has been received since the last one, this field is guaranteed to be non-empty. In other words, clients may assume that a batch will never cross a `resume_token` boundary.
optional uint32 batch_checksum = 6;- Specified by:
hasBatchChecksumin interfacePartialResultSetOrBuilder- Returns:
- Whether the batchChecksum field is set.
-
getBatchChecksum
public int getBatchChecksum()CRC32C checksum of concatenated `partial_rows` data for the current batch. When present, the buffered data from `partial_rows` forms a complete parseable message of the appropriate type. The client should mark the end of a parseable message and prepare to receive a new one starting from the next `PartialResultSet` message. Clients must verify the checksum of the serialized batch before yielding it to the caller. This does NOT mean the values can be yielded to the callers since a `resume_token` is required to safely do so. If `resume_token` is non-empty and any data has been received since the last one, this field is guaranteed to be non-empty. In other words, clients may assume that a batch will never cross a `resume_token` boundary.
optional uint32 batch_checksum = 6;- Specified by:
getBatchChecksumin interfacePartialResultSetOrBuilder- Returns:
- The batchChecksum.
-
getResumeToken
public com.google.protobuf.ByteString getResumeToken()An opaque token sent by the server to allow query resumption and signal that the buffered values constructed from received `partial_rows` can be yielded to the caller. Clients can provide this token in a subsequent request to resume the result stream from the current point. When `resume_token` is non-empty, the buffered values received from `partial_rows` since the last non-empty `resume_token` can be yielded to the callers, provided that the client keeps the value of `resume_token` and uses it on subsequent retries. A `resume_token` may be sent without information in `partial_rows` to checkpoint the progress of a sparse query. Any previous `partial_rows` data should still be yielded in this case, and the new `resume_token` should be saved for future retries as normal. A `resume_token` will only be sent on a boundary where there is either no ongoing result batch, or `batch_checksum` is also populated. The server will also send a sentinel `resume_token` when last batch of `partial_rows` is sent. If the client retries the ExecuteQueryRequest with the sentinel `resume_token`, the server will emit it again without any data in `partial_rows`, then return OK.
bytes resume_token = 5;- Specified by:
getResumeTokenin interfacePartialResultSetOrBuilder- Returns:
- The resumeToken.
-
getReset
public boolean getReset()If `true`, any data buffered since the last non-empty `resume_token` must be discarded before the other parts of this message, if any, are handled.
bool reset = 7;- Specified by:
getResetin interfacePartialResultSetOrBuilder- Returns:
- The reset.
-
getEstimatedBatchSize
public int getEstimatedBatchSize()Estimated size of the buffer required to hold the next batch of results. This value will be sent with the first `partial_rows` of a batch. That is, on the first `partial_rows` received in a stream, on the first message after a `batch_checksum` message, and any time `reset` is true. The client can use this estimate to allocate a buffer for the next batch of results. This helps minimize the number of allocations required, though the buffer size may still need to be increased if the estimate is too low.
int32 estimated_batch_size = 4;- Specified by:
getEstimatedBatchSizein interfacePartialResultSetOrBuilder- Returns:
- The estimatedBatchSize.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static PartialResultSet parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static PartialResultSet parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static PartialResultSet parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static PartialResultSet parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static PartialResultSet parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static PartialResultSet parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static PartialResultSet parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static PartialResultSet parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static PartialResultSet parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static PartialResultSet parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected PartialResultSet.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-