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.
