Note that testing of appengengine specific development can / should be able to go on local machines;
I haven't tried it, but I will remind of the announcement in http://googleappengine.blogspot.com/2009/05/web2py-support-new-datastore-backend.html of the datastore backend - claiming to be more robust than the developer SDK: http://arachnid.github.com/bdbdatastore/ ... surely worth a look, also a way to make "DALnr" web2py apps (???) also portable... On Sun, May 24, 2009 at 1:05 AM, mdipierro <mdipie...@cs.depaul.edu> wrote: > > Good point. I think we can and should support listproperty. I also > think its behavior can be mimicked in relational databases. This will > probably happen within 1-2 weeks. > > Massimo > > On May 24, 12:50 am, Cory Preus <c...@voxmanus.com> wrote: > > > Can you make a concrete example? It will help us improve. > > > > The oft-cited ListProperty is a great example. Because GAE/BigTable > > doesn't provide substr support, we have a couple options for a search > > facility. One is to take a string, say "foobar" and tokenize it into > > parts. > > > > ['fo','oo','ba','ar','foo','bar','foob','obar','fooba','oobar','foobar'] > > > > Using ListProperty, this would be a single write. Our BigTable model > > looks as such: > > > > id name tokens > > 1 foobar ['fo','oo','ob','ba','ar','foo','bar',...] > > > > And a search query: > > > > # Get all entities where numbers contains a 6. > > results = db.GqlQuery("SELECT * FROM MyModel WHERE tokens = 'foo'") > > > > GQL natively returns all entities contain an element in a list. > > > > http://code.google.com/appengine/docs/python/datastore/entitiesandmod... > > > > Conversely, using the oft cited IS_IN_DB pattern for web2py, we would > > have 12 rows inserted, one for each token with a column of comma > > delimited foreign key ids to each full-string entity matching the > > token and a bunch of code to manage the integrity across tokens/ > > entities instead of what is relevant in this case: tokens *per* > > entity. Duplication of a token is irrelevant. > > > > So in this scenario, which is key for the project I'm working on with > > a friend, a single SELECT using GAE's API would produce the results > > needed versus a series of queries to a) SELECT the token in a tokens > > table, then iterate over the elements execute SELECTs on each to get > > the representation. > > > > While the ListProperty may be unique to GAE/BigTable, omitting it > > removes the ability to harness GAE's power. It is also representative > > of the difference between data store paradigms, I think. > > > > Hope this helps. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---