I just seen that my last code is working!

Only first filder is working.
                query.addFilter("cid", Query.FilterOperator.EQUAL,
1111l);


Second filter is ignored.
                query.addFilter("ctime",
Query.FilterOperator.GREATER_THAN_OR_EQUAL, new Date(2009, 12,
1).getTime());

How should I specify dates ?





On Jan 16, 2:13 pm, Max <[email protected]> wrote:
>                 DatastoreService ds = 
> DatastoreServiceFactory.getDatastoreService();
>
>                 Query query = new Query("Table1");
>                 query.addFilter("cid", Query.FilterOperator.EQUAL, 1111l);
>
> // was not very clear documented how dates are saved in DB
> //              query.addFilter("ctime",
> Query.FilterOperator.GREATER_THAN_OR_EQUAL, "DATE(2009, 12, 1)");
> //              query.addFilter("ctime",
> Query.FilterOperator.GREATER_THAN_OR_EQUAL, new Date(2009, 12, 1));
>                 query.addFilter("ctime", 
> Query.FilterOperator.GREATER_THAN_OR_EQUAL,
> new Date(2009, 12, 1).getTime());
>                 query.addSort("ctime");
>                 query.setKeysOnly();
>
>                 FetchOptions options = FetchOptions.Builder.withLimit(1000);
>                 PreparedQuery p1 = ds.prepare(query);
>
>                 Iterable it = p1.asIterable(options);
>
> I hope it will help someone.
>
> On Jan 16, 12:53 pm, Max <[email protected]> wrote:
>
> > Hi, I can't write JDO query but I can make that query in GQL
>
> > SELECT __key__ FROM Table1 WHERE cid = 1111 and ctime >= DATE
> > ('2009-12-1') ORDER BY ctime LIMIT 1000
>
> > ------
>
> >                 Query query = pm.newQuery("SELECT FROM " + 
> > Table1.class.getName()
> >                                 + " WHERE cid == cid1 && ctime >=
> > ctime1 "
> >                                 + " parameters Long cid1,
> > java.util.Date ctime1 "
> >                                 + " order by ctime "
> >                                 + " RANGE 0, 10 ");
> >                 List ids = (List) query.execute(1111l, new Date(2009, 12, 
> > 1));
>
> > JDO return nothing and error when I try something like
>
> >                 Query query = pm.newQuery("SELECT key FROM " + 
> > Table1.class.getName
> > ()
> >                                 + " WHERE cid == cid1 && ctime >=
> > ctime1 "
> >                                 + " parameters Long cid1,
> > java.util.Date ctime1 "
> >                                 + " order by ctime "
> >                                 + " RANGE 0, 10 ");
> >                 List ids = (List) query.execute(1111l, new Date(2009, 12, 
> > 1));
>
> > or
>
> >                 Query query = pm.newQuery("SELECT __key__ FROM " +
> > Table1.class.getName()
> >                                 + " WHERE cid == cid1 && ctime >=
> > ctime1 "
> >                                 + " parameters Long cid1,
> > java.util.Date ctime1 "
> >                                 + " order by ctime "
> >                                 + " RANGE 0, 10 ");
> >                 List ids = (List) query.execute(1111l, new Date(2009, 12, 
> > 1));
>
> > Primary Key is "key"
>
> > Cheers, Max
>
>
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to