I meant cursors
On Apr 29, 2011 5:41 PM, "Alfred Fuller" <[email protected]>
wrote:
> IN and != can be combined with sort orders
>
> On Fri, Apr 29, 2011 at 4:29 PM, John Wheeler <[email protected]
>wrote:
>
>> Can not use ORDER BY in GQL with IN or !=
>>
>> :-)
>>
>>
>> On Fri, Apr 29, 2011 at 4:20 PM, Ravi Sharma <[email protected]> wrote:
>>
>>> Now i am sure its some defect in Google App Engine
>>> I tried following url for few entities it ran fine and it did updated
the
>>> entities but still indexes are not working properly
>>>
>>>
>>> for (Entity result : pq.asIterable()) {
>>> Map<String, Object> allProp = result.getProperties();
>>> for(Entry<String, Object> oneEntry:allProp.entrySet()){
>>> System.out.println("update :
>>> "+oneEntry.getKey()+"="+oneEntry.getValue());
>>> result.setProperty(oneEntry.getKey(),
>>> oneEntry.getValue());
>>> }
>>> result.setProperty("area", 10); //this line just to see
>>> that my changes are actually saving in datastore and it shows the
datastore
>>> is being updated perfectly
>>> //but still Indexes are not updated
>>> System.out.println("Saving new Entity start");
>>> datastore.put(result);
>>> System.out.println("Saving new Entity Done");
>>> }
>>>
>>> I hope my query is valid for GAE(Low level datastore APIs)
>>> select * from A where locationIds *=* <SomeKey> and tfs *in* <Lit of
Long
>>> types> order by lastSaveDate DESC
>>>
>>> locationKeys ▲ , tfs ▲ , lastSaveDate ▼
>>>
>>>
>>>
>>>
>>> On Fri, Apr 29, 2011 at 10:21 PM, <[email protected]> wrote:
>>>
>>>> In order to set indexed props with the low level,
>>>>
>>>> entity.setProperty("foo", "bar")
>>>>
>>>> Unindexed properties
>>>>
>>>> entity.setUnindexedProperty("foo", "baz")
>>>>
>>>> I apologize about getting the API wrong in my last message.
>>>>
>>>> to get values out of indexed properties, you cast:
>>>>
>>>> Date d = (Date) entity.getProperty("somedate")
>>>>
>>>> If it is an unindexed property, you have to parse string
>>>>
>>>> String mydata = ((Text)
>>>> entity.getProperty("someunindexedprop")).getValue()
>>>>
>>>>
>>>> On Apr 29, 2011 2:17pm, Ravi Sharma <[email protected]> wrote:
>>>> > Thanks John
>>>> > I wished Goole App JDO or Low level API could have done the same
thing
>>>> and wouldnt have to learn one more framework.....it may be easier but
still
>>>> i have to spend some time.
>>>> > By the way do you know correpsonding API(setIndexedProp()) in
Datastore
>>>> low level API...
>>>> >
>>>> > If some third party frmaework can do something then i am sure Low
Level
>>>> datastore api must be capable of doing the same.
>>>> >
>>>> > Thanks,
>>>> > Ravi.
>>>> >
>>>> >
>>>> > On Fri, Apr 29, 2011 at 9:52 PM, John Wheeler
>>>> [email protected]> wrote:
>>>> >
>>>> > Ravi,
>>>> >
>>>> >
>>>> > I think you might need a MapReduce job that calls setIndexedProperty
on
>>>> all your affected entities. Here's mine for you to adapt, but if you
don't
>>>> know MapReduce, you'll have to check it out.
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > public class QuickBulkJob extends AppEngineMapper {
>>>>
>>>> >
>>>> > private static final Logger log =
>>>> Logger.getLogger(QuickBulkJob.class.getName());
>>>> >
>>>> >
>>>> >
>>>> > @Override
>>>> >
>>>> > public void map(Key key, Entity e, Context context) throws
>>>> IOException, InterruptedException {
>>>> >
>>>> > setIndexedProp(e, "deactivated");
>>>> >
>>>> > setIndexedProp(e, "feedbackReceived");
>>>> >
>>>> >
>>>> > setIndexedProp(e, "email");
>>>> >
>>>> >
>>>> > getAppEngineContext(context).getMutationPool().put(e);
>>>> >
>>>> >
>>>> >
>>>> > }
>>>> >
>>>> >
>>>> >
>>>> > private static void setIndexedProp(Entity e, String prop) {
>>>> >
>>>> > if (e.hasProperty(prop)) {
>>>> > e.setProperty(prop, e.getProperty(prop));
>>>> >
>>>> > }
>>>> > }
>>>> >
>>>> >
>>>> > }
>>>> >
>>>> >
>>>> >
>>>> > Best of luck to you.
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> >
>>>> >
>>>> >
>>>> > You received this message because you are subscribed to the Google
>>>> Groups "Google App Engine" 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?hl=en.
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> >
>>>> > You received this message because you are subscribed to the Google
>>>> Groups "Google App Engine" 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?hl=en.
>>>> >
>>>> >
>>>> >
>>>> >
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
Groups
>>>> "Google App Engine" 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?hl=en.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
Groups
>>> "Google App Engine" 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?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine" 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?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
"Google App Engine" 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?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en.

Reply via email to