@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
ExecuteSqlRequest.Builder getExecuteSqlRequestBuilder( Statement statement, QueryMode queryMode) { ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(queryMode) .setSession(session.name); Map<String, Value> stmtParameters = statement.getParameters(); if (!stmtParameters.isEmpty()) { com.google.protobuf.Struct.Builder paramsBuilder = builder.getParamsBuilder(); for (Map.Entry<String, Value> param : stmtParameters.entrySet()) { paramsBuilder.putFields(param.getKey(), param.getValue().toProto()); builder.putParamTypes(param.getKey(), param.getValue().getType().toProto()); } } TransactionSelector selector = getTransactionSelector(); if (selector != null) { builder.setTransaction(selector); } builder.setSeqno(getSeqNo()); return builder; }
public long executePartitionedUpdate(Statement statement) { checkState(isValid, "Partitioned DML has been invalidated by a new operation on the session"); final ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(QueryMode.NORMAL)
@Test @SuppressWarnings("all") public void executeStreamingSqlTest() 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 sql = "sql114126"; ExecuteSqlRequest request = ExecuteSqlRequest.newBuilder().setSession(session.toString()).setSql(sql).build(); MockStreamObserver<PartialResultSet> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<ExecuteSqlRequest, PartialResultSet> callable = client.executeStreamingSqlCallable(); 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 executeStreamingSqlExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSpanner.addException(exception); SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); String sql = "sql114126"; ExecuteSqlRequest request = ExecuteSqlRequest.newBuilder().setSession(session.toString()).setSql(sql).build(); MockStreamObserver<PartialResultSet> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<ExecuteSqlRequest, PartialResultSet> callable = client.executeStreamingSqlCallable(); 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()); } }
ExecuteSqlRequest.Builder getExecuteSqlRequestBuilder( Statement statement, QueryMode queryMode) { ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(queryMode) .setSession(session.name); Map<String, Value> stmtParameters = statement.getParameters(); if (!stmtParameters.isEmpty()) { com.google.protobuf.Struct.Builder paramsBuilder = builder.getParamsBuilder(); for (Map.Entry<String, Value> param : stmtParameters.entrySet()) { paramsBuilder.putFields(param.getKey(), param.getValue().toProto()); builder.putParamTypes(param.getKey(), param.getValue().getType().toProto()); } } TransactionSelector selector = getTransactionSelector(); if (selector != null) { builder.setTransaction(selector); } builder.setSeqno(getSeqNo()); return builder; }
public long executePartitionedUpdate(Statement statement) { checkState(isValid, "Partitioned DML has been invalidated by a new operation on the session"); final ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(QueryMode.NORMAL)