@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
/** * * * <pre> * Required. The primary keys of the rows within [table][google.spanner.v1.Mutation.Delete.table] to delete. * Delete is idempotent. The transaction will succeed even if some or all * rows do not exist. * </pre> * * <code>.google.spanner.v1.KeySet key_set = 2;</code> */ public Builder mergeKeySet(com.google.spanner.v1.KeySet value) { if (keySetBuilder_ == null) { if (keySet_ != null) { keySet_ = com.google.spanner.v1.KeySet.newBuilder(keySet_).mergeFrom(value).buildPartial(); } else { keySet_ = value; } onChanged(); } else { keySetBuilder_.mergeFrom(value); } return this; } /**
/** * * * <pre> * Required. `key_set` identifies the rows to be yielded. `key_set` names the * primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index] * is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names * index keys in [index][google.spanner.v1.PartitionReadRequest.index]. * It is not an error for the `key_set` to name rows that do not * exist in the database. Read yields nothing for nonexistent rows. * </pre> * * <code>.google.spanner.v1.KeySet key_set = 6;</code> */ public Builder mergeKeySet(com.google.spanner.v1.KeySet value) { if (keySetBuilder_ == null) { if (keySet_ != null) { keySet_ = com.google.spanner.v1.KeySet.newBuilder(keySet_).mergeFrom(value).buildPartial(); } else { keySet_ = value; } onChanged(); } else { keySetBuilder_.mergeFrom(value); } return this; } /**
if (keySet_ != null) { keySet_ = com.google.spanner.v1.KeySet.newBuilder(keySet_).mergeFrom(value).buildPartial(); } else { keySet_ = value;
private static void checkProto(KeySet keySet, String proto) { com.google.spanner.v1.KeySet.Builder builder = com.google.spanner.v1.KeySet.newBuilder(); keySet.appendToProto(builder); MatcherAssert.assertThat( builder.build(), SpannerMatchers.matchesProto(com.google.spanner.v1.KeySet.class, proto)); } }
@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()); } }