@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
com.google.datastore.v1.GqlQuery toPb() { com.google.datastore.v1.GqlQuery.Builder queryPb = com.google.datastore.v1.GqlQuery.newBuilder(); queryPb.setQueryString(queryString); queryPb.setAllowLiterals(allowLiteral); for (Map.Entry<String, Binding> entry : namedBindings.entrySet()) { queryPb.putNamedBindings(entry.getKey(), entry.getValue().toPb()); } for (Binding argument : positionalBindings) { queryPb.addPositionalBindings(argument.toPb()); } return queryPb.build(); }
&& queryType_ != com.google.datastore.v1.GqlQuery.getDefaultInstance()) { queryType_ = com.google.datastore.v1.GqlQuery.newBuilder( (com.google.datastore.v1.GqlQuery) queryType_) .mergeFrom(value)
@Test public void testEventualConsistencyQuery() { ReadOptions readOption = ReadOptions.newBuilder().setReadConsistencyValue(ReadConsistency.EVENTUAL_VALUE).build(); com.google.datastore.v1.GqlQuery query = com.google.datastore.v1.GqlQuery.newBuilder().setQueryString("FROM * SELECT *").build(); RunQueryRequest.Builder expectedRequest = RunQueryRequest.newBuilder() .setReadOptions(readOption) .setGqlQuery(query) .setPartitionId(PartitionId.newBuilder().setProjectId(PROJECT_ID).build()); EasyMock.expect(rpcMock.runQuery(expectedRequest.build())) .andReturn(RunQueryResponse.newBuilder().build()); EasyMock.replay(rpcFactoryMock, rpcMock); Datastore datastore = rpcMockOptions.getService(); datastore.run( Query.newGqlQueryBuilder("FROM * SELECT *").build(), ReadOption.eventualConsistency()); EasyMock.verify(rpcFactoryMock, rpcMock); }
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
com.google.datastore.v1.GqlQuery toPb() { com.google.datastore.v1.GqlQuery.Builder queryPb = com.google.datastore.v1.GqlQuery.newBuilder(); queryPb.setQueryString(queryString); queryPb.setAllowLiterals(allowLiteral); for (Map.Entry<String, Binding> entry : namedBindings.entrySet()) { queryPb.putNamedBindings(entry.getKey(), entry.getValue().toPb()); } for (Binding argument : positionalBindings) { queryPb.addPositionalBindings(argument.toPb()); } return queryPb.build(); }
/** * <pre> * The GQL query to run. * </pre> * * <code>optional .google.datastore.v1.GqlQuery gql_query = 7;</code> */ public Builder mergeGqlQuery(com.google.datastore.v1.GqlQuery value) { if (gqlQueryBuilder_ == null) { if (queryTypeCase_ == 7 && queryType_ != com.google.datastore.v1.GqlQuery.getDefaultInstance()) { queryType_ = com.google.datastore.v1.GqlQuery.newBuilder((com.google.datastore.v1.GqlQuery) queryType_) .mergeFrom(value).buildPartial(); } else { queryType_ = value; } onChanged(); } else { if (queryTypeCase_ == 7) { gqlQueryBuilder_.mergeFrom(value); } gqlQueryBuilder_.setMessage(value); } queryTypeCase_ = 7; return this; } /**
&& queryType_ != com.google.datastore.v1.GqlQuery.getDefaultInstance()) { queryType_ = com.google.datastore.v1.GqlQuery.newBuilder( (com.google.datastore.v1.GqlQuery) queryType_) .mergeFrom(value)
/** Translates a gql query string to {@link Query}. */ private static Query translateGqlQuery(String gql, Datastore datastore, String namespace) throws DatastoreException { GqlQuery gqlQuery = GqlQuery.newBuilder().setQueryString(gql).setAllowLiterals(true).build(); RunQueryRequest req = makeRequest(gqlQuery, namespace); return datastore.runQuery(req).getQuery(); }
@Test public void testTranslateGqlQueryWithLimit() throws Exception { String gql = "SELECT * from DummyKind LIMIT 10"; String gqlWithZeroLimit = gql + " LIMIT 0"; GqlQuery gqlQuery = GqlQuery.newBuilder().setQueryString(gql).setAllowLiterals(true).build(); GqlQuery gqlQueryWithZeroLimit = GqlQuery.newBuilder().setQueryString(gqlWithZeroLimit).setAllowLiterals(true).build(); RunQueryRequest gqlRequest = makeRequest(gqlQuery, V_1_OPTIONS.getNamespace()); RunQueryRequest gqlRequestWithZeroLimit = makeRequest(gqlQueryWithZeroLimit, V_1_OPTIONS.getNamespace()); when(mockDatastore.runQuery(gqlRequestWithZeroLimit)) .thenThrow( new DatastoreException( "runQuery", Code.INVALID_ARGUMENT, "invalid query", // dummy new RuntimeException())); when(mockDatastore.runQuery(gqlRequest)) .thenReturn(RunQueryResponse.newBuilder().setQuery(QUERY).build()); assertEquals( translateGqlQueryWithLimitCheck(gql, mockDatastore, V_1_OPTIONS.getNamespace()), QUERY); verify(mockDatastore, times(1)).runQuery(gqlRequest); verify(mockDatastore, times(1)).runQuery(gqlRequestWithZeroLimit); }
@Test public void testTranslateGqlQueryWithNoLimit() throws Exception { String gql = "SELECT * from DummyKind"; String gqlWithZeroLimit = gql + " LIMIT 0"; GqlQuery gqlQueryWithZeroLimit = GqlQuery.newBuilder().setQueryString(gqlWithZeroLimit).setAllowLiterals(true).build(); RunQueryRequest gqlRequestWithZeroLimit = makeRequest(gqlQueryWithZeroLimit, V_1_OPTIONS.getNamespace()); when(mockDatastore.runQuery(gqlRequestWithZeroLimit)) .thenReturn(RunQueryResponse.newBuilder().setQuery(QUERY).build()); assertEquals( translateGqlQueryWithLimitCheck(gql, mockDatastore, V_1_OPTIONS.getNamespace()), QUERY); verify(mockDatastore, times(1)).runQuery(gqlRequestWithZeroLimit); }