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
-~----------~----~----~----~------~----~------~--~---

Reply via email to