/** * * * <pre> * The columns of [table][google.spanner.v1.ReadRequest.table] to be returned for each row matching * this request. * </pre> * * <code>repeated string columns = 5;</code> */ public Builder setColumns(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureColumnsIsMutable(); columns_.set(index, value); onChanged(); return this; } /**
final ReadRequest.Builder builder = ReadRequest.newBuilder() .setSession(session.name) .setTable(checkNotNull(table)) .addAllColumns(columns); if (readOptions.hasLimit()) { builder.setLimit(readOptions.limit()); keys.appendToProto(builder.getKeySetBuilder()); if (index != null) { builder.setIndex(index); builder.setTransaction(selector); builder.setPartitionToken(partitionToken);
@Override CloseableIterator<PartialResultSet> startStream(@Nullable ByteString resumeToken) { GrpcStreamIterator stream = new GrpcStreamIterator(prefetchChunks); if (resumeToken != null) { builder.setResumeToken(resumeToken); } SpannerRpc.StreamingCall call = rpc.read(builder.build(), stream.consumer(), session.options); call.request(prefetchChunks); stream.setCall(call); return stream; } };
final ReadRequest.Builder builder = ReadRequest.newBuilder() .setSession(session.name) .setTable(checkNotNull(table)) .addAllColumns(columns); if (readOptions.hasLimit()) { builder.setLimit(readOptions.limit()); keys.appendToProto(builder.getKeySetBuilder()); if (index != null) { builder.setIndex(index); builder.setTransaction(selector); builder.setPartitionToken(partitionToken);
if (!other.getSession().isEmpty()) { session_ = other.session_; onChanged(); mergeTransaction(other.getTransaction()); onChanged(); onChanged(); bitField0_ = (bitField0_ & ~0x00000010); } else { ensureColumnsIsMutable(); columns_.addAll(other.columns_); onChanged(); mergeKeySet(other.getKeySet()); setLimit(other.getLimit()); setResumeToken(other.getResumeToken()); setPartitionToken(other.getPartitionToken()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this;
@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)); }
@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()); } }
/** * * * <pre> * The columns of [table][google.spanner.v1.ReadRequest.table] to be returned for each row matching * this request. * </pre> * * <code>repeated string columns = 5;</code> */ public Builder addColumnsBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureColumnsIsMutable(); columns_.add(value); onChanged(); return this; }
/** * * * <pre> * The columns of [table][google.spanner.v1.ReadRequest.table] to be returned for each row matching * this request. * </pre> * * <code>repeated string columns = 5;</code> */ public Builder addColumns(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureColumnsIsMutable(); columns_.add(value); onChanged(); return this; } /**
/** * * * <pre> * The columns of [table][google.spanner.v1.ReadRequest.table] to be returned for each row matching * this request. * </pre> * * <code>repeated string columns = 5;</code> */ public Builder addAllColumns(java.lang.Iterable<java.lang.String> values) { ensureColumnsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, columns_); onChanged(); return this; } /**
@Override CloseableIterator<PartialResultSet> startStream(@Nullable ByteString resumeToken) { GrpcStreamIterator stream = new GrpcStreamIterator(prefetchChunks); if (resumeToken != null) { builder.setResumeToken(resumeToken); } SpannerRpc.StreamingCall call = rpc.read(builder.build(), stream.consumer(), session.options); call.request(prefetchChunks); stream.setCall(call); return stream; } };
@java.lang.Override public com.google.spanner.v1.ReadRequest build() { com.google.spanner.v1.ReadRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
@java.lang.Override protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /**