Sorry to have to ask, But can you hint as to how I should rewrite this query
so as to have cursors working?

On Mon, Mar 8, 2010 at 12:40 PM, atomi <[email protected]> wrote:

> Thank you John, I wasn't clear IN was contains() as well.
>
>
> On Mon, Mar 8, 2010 at 12:36 PM, John Patterson <[email protected]>wrote:
>
>> Cursors are not supported for queries that use IN (contains) because under
>> the covers they are broken into multiple queries and merged together.
>>
>>
>> http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html#Query_Cursors
>>
>>
>> On 9 Mar 2010, at 03:21, atomi wrote:
>>
>>  I'm trying to get cursors working with a result set but the
>>> JDOCursorHelper.getCursor() method returns null for every query result that
>>> is greater than 1
>>> here is my entity method
>>> Item entity:
>>>
>>>        @Element(dependent = "true")
>>>        @Persistent(defaultFetchGroup="true",loadFetchGroup="true")
>>>        List<String> comments = new ArrayList<String>();
>>>
>>>        def getComments() {
>>>                List comments
>>>                List results
>>>
>>>                if (this.comments.isEmpty()) {
>>>                        return this.comments
>>>                }
>>>
>>>                PersistenceManager pm = PMF.get().getPersistenceManager()
>>>                try {
>>>                        javax.jdo.Query q = pm.newQuery("select from " +
>>>                                        Comment.class.getName() +
>>>                                        " where :keys.contains(key)")
>>>                        q.setOrdering("datetime desc");
>>>                        q.setRange(0, 5);
>>>                        results = q.execute(this.comments);
>>>
>>>                        Cursor cursor =
>>> JDOCursorHelper.getCursor(results);
>>>                        if(cursor != null){
>>>                                this.cursorString =
>>> cursor.toWebSafeString();
>>>                        }
>>>
>>>                        comments = pm.detachCopyAll((List) results)
>>>                        comments.size();
>>>
>>>                        return comments
>>>                } finally {
>>>                        pm.close()
>>>                }
>>>        }
>>>
>>> Can someone tell me why?
>>>
>>> --
>>> 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]<google-appengine-java%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-appengine-java?hl=en.
>>>
>>
>> --
>> 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]<google-appengine-java%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine-java?hl=en.
>>
>>
>

-- 
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