Hi Prashanth, Add an additional property you can do an equality filter on, such as 'has_at_least_10_items.' If 'x' is a known amount that will solve your issue by itself, if 'x' is a variable amount you might want to use several 'bins' so that you can easily eliminate chucks of data in the query then do the remaining processing in your app code.
Robert On Tue, Feb 1, 2011 at 13:24, Prashanth <[email protected]> wrote: > Thanks Jeff and Wim for the responses. > > I missed out giving the number of records in the datastore. > The datastore has ~1 million records and ever increasing. > The solution which we have now is, get all the records greater than > the input date [most restrictive] in a query and then loop thru the > records for records greater than x_items. > This solution hit performance badly. Hence looking for an alternative > solution. > > Any suggestions please. > Thanks for reading this. > > On Feb 1, 11:05 pm, Jeff Schwartz <[email protected]> wrote: >> If you intend to make multiple calls passing the cursor back and forth >> between client and server then that would work but if you intend to do it >> all in one request then I think the poster of the original question would >> need to define how much data they were talking about which brings me back to >> what I suggested earlier which is: if you are talking about merely trivial >> amounts of data then it would work but if he is talking about anything more >> than merely trivial amounts of data then it wont work and another approach >> would be needed. >> >> Jeff >> >> I'd prefer a neater package: begin a task that kicks of multiple queries to >> retrieve all the results - the tasks can use a cursor. When the tasks have >> completed their work >> >> On Tue, Feb 1, 2011 at 12:28 PM, Wim den Ouden <[email protected]> wrote: >> >> >> >> >> >> >> >> >> >> > no, no, first the query on is item_names and more than x_items, >> > then a loop on the result from this query (for items in resultquery:) >> > if some_input_date > date: append to list >> > when ready show list >> >> > you can play with fetch(..) to get optimum speed and cpu usage. >> > ofcourse not a top solution, but it works till?? >> > gr >> > wim >> >> > 2011/2/1 Jeff Schwartz <[email protected]>: >> > > This would require 2 inequality filters so no luck. >> >> > > On Tue, Feb 1, 2011 at 7:17 AM, Prashanth <[email protected]> >> > wrote: >> >> > >> Hi, >> >> > >> Am trying to query my Google App Engine datastore [Python], which has >> > >> a item_name, manufacturing_date and number_of_items_shipped. >> > >> The scenario: >> > >> Get all the item_names which has been shipped more than x_items [user >> > >> input] and manufactured after some_input_date [user input]. >> > >> Basically, kind of inventory check. >> >> > >> But due to restrictions on queries in GAE, am not able to do this. >> >> >http://code.google.com/appengine/docs/python/datastore/queries.html#R... >> >> > >> I tried searching on the internet for this issue. But, no luck till >> > >> now. Did you come across this issue, if so, were you able to resolve >> > >> this? Please let me know. >> >> > >> Also in Google I/O 2010, "Next Gen Queries" [http://www.youtube.com/ >> > >> watch?v=ofhEyDBpngM#t=3m17s], Alfred Fuller mentioned that they are >> > >> going to remove this restriction soon. Its been more than 8 months, >> > >> but this restriction is in place even now. Makes life very difficult. >> >> > >> Appreciate if anyone can post an answer if they were able to >> > >> circumvent this restriciton. >> > >> Thanks a lot. >> >> > >> Regards, >> > >> Prashanth. >> >> > >> -- >> > >> 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]<google-appengine%2Bunsubscrib >> > >> [email protected]> >> > . >> > >> For more options, visit this group at >> > >>http://groups.google.com/group/google-appengine?hl=en. >> >> > > -- >> > > Jeff Schwartz >> >> > > -- >> > > 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]<google-appengine%2Bunsubscrib >> > > [email protected]> >> > . >> > > For more options, visit this group at >> > >http://groups.google.com/group/google-appengine?hl=en. >> >> > -- >> > gr >> > Wim den Ouden >> > Custom applications,https://e-comm.appspot.com/ >> > Free open source E-commerce/E-bookkeeping/E-business framework (web) >> > apps,http://code.google.com/p/relat/ >> > Gae developer tips,http://code.google.com/p/relat/wiki/gaetips >> >> > -- >> > 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]<google-appengine%2Bunsubscrib >> > [email protected]> >> > . >> > For more options, visit this group at >> >http://groups.google.com/group/google-appengine?hl=en. >> >> -- >> *Jeff Schwartz* > > -- > 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.
