Hi, thanks for your reply.

to clarify, I have one query which retrieves the keys for Entity C1, This 
query is not my focus, because it onlys fetches the keys which I will later 
use to get the Entities from class C1.
So I have a list with keys from Entity C1. C1 has an attribute date of type 
long (Calendar Timemillis). Now I want to select all Entities with their 
Key in my keyList AND date > currDate.


Am Sonntag, 12. Juli 2015 19:50:27 UTC+2 schrieb Marcus Masekowsky:
>
> 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/ffb69323-370a-4cf5-9262-20aae5751f22%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to