Hi Elias, You only need indexes for certain kinds of queries, such as those with inequality filters, or some ancestor queries. You can run other queries immediately after a kind is created. Composite index queries can be read up on here: http://code.google.com/appengine/docs/datastore/queriesandindexes.html Also, this article is very helpful: http://code.google.com/appengine/articles/index_building.html
If you create a kind you believe will need a composite index, you might try to log the kind and query type, and periodically add those to your app.yaml. Please also be aware that there is currently a limit on 100 composite indexes per application. As for the reorganization script, you will need to write this script to modify data in batches, probably using some kind of request argument to indicate the start and end of the batch which you are processing. You will need to experiment with the amount of data in one request that you can put() and delete(), since it depends largely on the size and shape of your data. -Marzia On Tue, Dec 30, 2008 at 2:11 PM, Elias Athanasopoulos < elias.athanasopou...@gmail.com> wrote: > > Hello! > > My application needs to dynamically create entities. In short, I am > creating an entity per user, in the fashion: > > table = type(name, (UserGeneric,), {}) > > where UserGeneric is a class with all user properties needed by my > application. So, entities are created at run-time. The problem is that > queries lack of an index, since queries are targeting entities have > been created at run-time. For example if a user joins the application > with name 'foo' a new entity (for example '__foo') will be created, > but every query targeting that entity will fail, since there is no way > to generate an index for it. Is there any workaround? > > In another context, I need to reorganize my entities in the live > server using a script. This script is meant to run once, just to copy > records for old tables to new ones. However, I am always getting a > time-out when I am trying to execute the script in the live server. > Any hints? > > Thanks in advance. > > Regards, > Elias > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---