The only solutions I know of require some pre-computation. This implies you know the kinds of questions you will be asked, and hence can pre-calculate the answer. Is that possible for you?
In the example you gave, add a IsManager column to the aggregate table. It will double the number of rows, but can still answer both your queries using 1 or 2 records. On Aug 21, 3:24 pm, PSL <[email protected]> wrote: > Hi Jason. > Still I have one doubt. > If we maintain a table for the aggregate functions, we cannot apply > the conditions. > Suppose I want avg salary of all manager , then we cannot retrieve > this value. > Is there no full proof solution for aggregate functions which can be > applied at any case? > > On Aug 20, 11:40 pm, "Jason (Google)" <[email protected]> wrote: > > > > > Hi PSL. For a large number of entities, write-time calculation, just as you > > suggested in your second solution, is the recommended solution for this type > > of problem. As you noted, you won't be able to update both the entity and > > aggregate value entity in the same transaction (unless all of your original > > entities are in the same entity group), but you may be able to write your > > own logic to mitigate the opportunity for inconsistency in the case of write > > failure. > > > - Jason > > > On Wed, Aug 19, 2009 at 3:00 AM, PSL > > <[email protected]>wrote: > > > > Hi, > > > I want to implement aggregate functions like sum and avg in Java in > > > Google App Engine. > > > So as suggested in the forum I created a method to retrieve all the > > > records in a List and then calculating the sum and avg on a particular > > > field.It works well up to 20000 records but for large number of > > > records (50000) ,it gives HardDeadlineExceededError.( request takes > > > more than 30 seconds to complete). > > > So how could we remove this error? > > > > We even thought of second approach for aggregate functions. > > > Create an entity with entity name , field name on which aggregate > > > function required , aggregate function name and value of that > > > function. So we need to populate this entity or update this entity > > > every time we insert or update a record in an entity. But this > > > approach also has some problems like:- > > > 1. As this entity will be a root entity, it cannot be updated in the > > > transaction with other entity groups. > > > 2. If we want to retrieve sum and avg with some conditions, it will > > > not get possible in this approach. > > > > If anybody has some pointers how to cope up with these issues, please > > > give your suggestions.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
