Hi,

I am trying to add a AND-Expression to a GAE batch query to filter Entities:

Currently I am doing this, and it works perfect:
1. 
DBQuery.selectFromKeysOnly -> Query to select Entitie by key

2. 
String queryBatchString = "select from " + C1.class.getName() 
 + " where " 
                                 + Model.KEY_FIELD + " == :keys";
3. 
Query query = pm.newQuery(queryBatchString);
modelList = (List<Model>)query.execute(encodedKeyList);

The disadvantage with that approach is, that the query in step 2 always 
returns all Entities. But I only want Entites which have a date > current 
Date. Currently I am filtering the Entities in the server code (Step 4). 
To avoid this, I changed the query in 2. and added an "AND" expression to 
filter the entities directly:

String queryBatchString = "select from " + C1.class.getName() 
 + " where " 
                                 + Model.KEY_FIELD + " == :keys"
 +  " AND " + C1.C1_DATE_FIELD + " > "+ currDate.getTimeInMillis();


But with this change I get an QueryCompilerSyntaxException:
"
Portion of expression could not be parsed: AND encodedKey == :keys
org.datanucleus.store.query.QueryCompilerSyntaxException: Portion of 
expression could not be parsed: AND encodedKey == :keys
"

What is wrong or what can be done better. Are AND-Expressions not allowed 
in Bbatch Queries?


Thanks 
Marcus

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/c1144a49-2217-4a84-b45f-a104cfb591ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to