@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
public Builder mergeFrom(com.google.spanner.v1.ReadRequest other) { if (other == com.google.spanner.v1.ReadRequest.getDefaultInstance()) return this; if (!other.getSession().isEmpty()) { session_ = other.session_; onChanged(); if (other.hasTransaction()) { mergeTransaction(other.getTransaction()); if (!other.getTable().isEmpty()) { table_ = other.table_; onChanged(); if (!other.getIndex().isEmpty()) { index_ = other.index_; onChanged(); if (other.hasKeySet()) { mergeKeySet(other.getKeySet()); if (other.getLimit() != 0L) { setLimit(other.getLimit()); if (other.getResumeToken() != com.google.protobuf.ByteString.EMPTY) { setResumeToken(other.getResumeToken()); if (other.getPartitionToken() != com.google.protobuf.ByteString.EMPTY) { setPartitionToken(other.getPartitionToken());
@java.lang.Override public com.google.spanner.v1.ReadRequest buildPartial() { com.google.spanner.v1.ReadRequest result = new com.google.spanner.v1.ReadRequest(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; result.session_ = session_; if (transactionBuilder_ == null) { result.transaction_ = transaction_; } else { result.transaction_ = transactionBuilder_.build(); } result.table_ = table_; result.index_ = index_; if (((bitField0_ & 0x00000010) == 0x00000010)) { columns_ = columns_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000010); } result.columns_ = columns_; if (keySetBuilder_ == null) { result.keySet_ = keySet_; } else { result.keySet_ = keySetBuilder_.build(); } result.limit_ = limit_; result.resumeToken_ = resumeToken_; result.partitionToken_ = partitionToken_; result.bitField0_ = to_bitField0_; onBuilt(); return result; }
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.spanner.v1.ReadRequest)) { return super.equals(obj); } com.google.spanner.v1.ReadRequest other = (com.google.spanner.v1.ReadRequest) obj; boolean result = true; result = result && getSession().equals(other.getSession()); result = result && (hasTransaction() == other.hasTransaction()); if (hasTransaction()) { result = result && getTransaction().equals(other.getTransaction()); } result = result && getTable().equals(other.getTable()); result = result && getIndex().equals(other.getIndex()); result = result && getColumnsList().equals(other.getColumnsList()); result = result && (hasKeySet() == other.hasKeySet()); if (hasKeySet()) { result = result && getKeySet().equals(other.getKeySet()); } result = result && (getLimit() == other.getLimit()); result = result && getResumeToken().equals(other.getResumeToken()); result = result && getPartitionToken().equals(other.getPartitionToken()); result = result && unknownFields.equals(other.unknownFields); return result; }
/** * * * <pre> * If non-empty, the name of an index on [table][google.spanner.v1.ReadRequest.table]. This index is * used instead of the table primary key when interpreting [key_set][google.spanner.v1.ReadRequest.key_set] * and sorting result rows. See [key_set][google.spanner.v1.ReadRequest.key_set] for further information. * </pre> * * <code>string index = 4;</code> */ public Builder clearIndex() { index_ = getDefaultInstance().getIndex(); onChanged(); return this; } /**
/** * * * <pre> * Required. The session in which the read should be performed. * </pre> * * <code>string session = 1;</code> */ public Builder clearSession() { session_ = getDefaultInstance().getSession(); onChanged(); return this; } /**
if (!getSessionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, session_); size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getTransaction()); if (!getTableBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, table_); if (!getIndexBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, index_); dataSize += computeStringSizeNoTag(columns_.getRaw(i)); size += 1 * getColumnsList().size(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getKeySet());
@java.lang.Override public com.google.spanner.v1.ReadRequest getDefaultInstanceForType() { return com.google.spanner.v1.ReadRequest.getDefaultInstance(); }
/** * * * <pre> * Required. The name of the table in the database to be read. * </pre> * * <code>string table = 3;</code> */ public Builder clearTable() { table_ = getDefaultInstance().getTable(); onChanged(); return this; } /**
/** * * * <pre> * If present, results will be restricted to the specified partition * previously created using PartitionRead(). There must be an exact * match for the values of fields common to this message and the * PartitionReadRequest message used to create this partition_token. * </pre> * * <code>bytes partition_token = 10;</code> */ public Builder clearPartitionToken() { partitionToken_ = getDefaultInstance().getPartitionToken(); onChanged(); return this; }
/** * * * <pre> * If this request is resuming a previously interrupted read, * `resume_token` should be copied from the last * [PartialResultSet][google.spanner.v1.PartialResultSet] yielded before the interruption. Doing this * enables the new read to resume where the last read left off. The * rest of the request parameters must exactly match the request * that yielded this token. * </pre> * * <code>bytes resume_token = 9;</code> */ public Builder clearResumeToken() { resumeToken_ = getDefaultInstance().getResumeToken(); onChanged(); return this; }
@Override public StreamingCall read( ReadRequest request, ResultStreamConsumer consumer, @Nullable Map<Option, ?> options) { GrpcCallContext context = newCallContext(options, request.getSession()); SpannerResponseObserver responseObserver = new SpannerResponseObserver(consumer); spannerStub.streamingReadCallable().call(request, responseObserver, context); final StreamController controller = responseObserver.getController(); return new StreamingCall() { @Override public void request(int numMessage) { controller.request(numMessage); } // TODO(hzyi): streamController currently does not support cancel with message. Add // this in gax and update this method later @Override public void cancel(String message) { controller.cancel(); } }; }
private static io.grpc.MethodDescriptor< com.google.spanner.v1.ReadRequest, com.google.spanner.v1.ResultSet> getReadMethodHelper() { io.grpc.MethodDescriptor<com.google.spanner.v1.ReadRequest, com.google.spanner.v1.ResultSet> getReadMethod; if ((getReadMethod = SpannerGrpc.getReadMethod) == null) { synchronized (SpannerGrpc.class) { if ((getReadMethod = SpannerGrpc.getReadMethod) == null) { SpannerGrpc.getReadMethod = getReadMethod = io.grpc.MethodDescriptor .<com.google.spanner.v1.ReadRequest, com.google.spanner.v1.ResultSet> newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName( generateFullMethodName("google.spanner.v1.Spanner", "Read")) .setSampledToLocalTracing(true) .setRequestMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.ReadRequest.getDefaultInstance())) .setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.ResultSet.getDefaultInstance())) .setSchemaDescriptor(new SpannerMethodDescriptorSupplier("Read")) .build(); } } } return getReadMethod; }
@Override public StreamingCall read( ReadRequest request, ResultStreamConsumer consumer, @Nullable Map<Option, ?> options) { GrpcCallContext context = newCallContext(options, request.getSession()); SpannerResponseObserver responseObserver = new SpannerResponseObserver(consumer); spannerStub.streamingReadCallable().call(request, responseObserver, context); final StreamController controller = responseObserver.getController(); return new StreamingCall() { @Override public void request(int numMessage) { controller.request(numMessage); } // TODO(hzyi): streamController currently does not support cancel with message. Add // this in gax and update this method later @Override public void cancel(String message) { controller.cancel(); } }; }
hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SESSION_FIELD_NUMBER; hash = (53 * hash) + getSession().hashCode(); if (hasTransaction()) { hash = (37 * hash) + TRANSACTION_FIELD_NUMBER; hash = (53 * hash) + getTransaction().hashCode(); hash = (53 * hash) + getTable().hashCode(); hash = (37 * hash) + INDEX_FIELD_NUMBER; hash = (53 * hash) + getIndex().hashCode(); if (getColumnsCount() > 0) { hash = (37 * hash) + COLUMNS_FIELD_NUMBER; hash = (53 * hash) + getColumnsList().hashCode(); if (hasKeySet()) { hash = (37 * hash) + KEY_SET_FIELD_NUMBER; hash = (53 * hash) + getKeySet().hashCode(); hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getLimit()); hash = (37 * hash) + RESUME_TOKEN_FIELD_NUMBER; hash = (53 * hash) + getResumeToken().hashCode(); hash = (37 * hash) + PARTITION_TOKEN_FIELD_NUMBER; hash = (53 * hash) + getPartitionToken().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash;
beforeReadOrQuery(); final ReadRequest.Builder builder = ReadRequest.newBuilder() .setSession(session.name) .setTable(checkNotNull(table))
.setRequestMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.ReadRequest.getDefaultInstance())) .setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller(
@Test @SuppressWarnings("all") public void streamingReadTest() throws Exception { boolean chunkedValue = true; ByteString resumeToken = ByteString.copyFromUtf8("103"); PartialResultSet expectedResponse = PartialResultSet.newBuilder() .setChunkedValue(chunkedValue) .setResumeToken(resumeToken) .build(); mockSpanner.addResponse(expectedResponse); SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); String table = "table110115790"; List<String> columns = new ArrayList<>(); KeySet keySet = KeySet.newBuilder().build(); ReadRequest request = ReadRequest.newBuilder() .setSession(session.toString()) .setTable(table) .addAllColumns(columns) .setKeySet(keySet) .build(); MockStreamObserver<PartialResultSet> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<ReadRequest, PartialResultSet> callable = client.streamingReadCallable(); callable.serverStreamingCall(request, responseObserver); List<PartialResultSet> actualResponses = responseObserver.future().get(); Assert.assertEquals(1, actualResponses.size()); Assert.assertEquals(expectedResponse, actualResponses.get(0)); }
private static io.grpc.MethodDescriptor< com.google.spanner.v1.ReadRequest, com.google.spanner.v1.ResultSet> getReadMethodHelper() { io.grpc.MethodDescriptor<com.google.spanner.v1.ReadRequest, com.google.spanner.v1.ResultSet> getReadMethod; if ((getReadMethod = SpannerGrpc.getReadMethod) == null) { synchronized (SpannerGrpc.class) { if ((getReadMethod = SpannerGrpc.getReadMethod) == null) { SpannerGrpc.getReadMethod = getReadMethod = io.grpc.MethodDescriptor .<com.google.spanner.v1.ReadRequest, com.google.spanner.v1.ResultSet> newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName( generateFullMethodName("google.spanner.v1.Spanner", "Read")) .setSampledToLocalTracing(true) .setRequestMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.ReadRequest.getDefaultInstance())) .setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.ResultSet.getDefaultInstance())) .setSchemaDescriptor(new SpannerMethodDescriptorSupplier("Read")) .build(); } } } return getReadMethod; }
@Test @SuppressWarnings("all") public void streamingReadExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSpanner.addException(exception); SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); String table = "table110115790"; List<String> columns = new ArrayList<>(); KeySet keySet = KeySet.newBuilder().build(); ReadRequest request = ReadRequest.newBuilder() .setSession(session.toString()) .setTable(table) .addAllColumns(columns) .setKeySet(keySet) .build(); MockStreamObserver<PartialResultSet> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<ReadRequest, PartialResultSet> callable = client.streamingReadCallable(); callable.serverStreamingCall(request, responseObserver); try { List<PartialResultSet> actualResponses = responseObserver.future().get(); Assert.fail("No exception thrown"); } catch (ExecutionException e) { Assert.assertTrue(e.getCause() instanceof InvalidArgumentException); InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } }