On Oct 26, 10:54 am, Thadeus Burgess <[email protected]> wrote:
> If you perform
>
> rows1 = db(db.a.b<10).select() | db(db.a.b>5).select()
>
> This is all on the python level?

Yes

> Strictly to allow for joins on gae?

It is not a join. It just merges two sets of records. The main purpose
is to bypass the GAE limitation but it can have uses on relational
databases too.

>
> -Thadeus
>
> On Mon, Oct 26, 2009 at 10:34 AM, mdipierro <[email protected]> wrote:
>
> > As you know assuming:
>
> >     db.define_table('a',Field('b','integer'))
>
> > the following expressions do not work on gae:
>
> >     rows1 = db((db.a.b<10)|(db.a.b>5)).select()
> >     rows2 = db(db.a.b.belongs(2,3,4)).select()
>
> > So with the latest code in trunk you can now do:
>
> >     rows1 = db(db.a.b<10).select() | db(db.a.b>5).select()
> >     rows2 = db(db.a.b==2).select() & db(db.a.b==3).select() & db
> > (db.a.b==4).select()
>
> > (the | will prevent duplicate records, the & will not and therefore is
> > faster)
> > of course this also works with relational databases although it is
> > less efficient than the original expressions.
>
> > I am also considering something like (not yet in trunk)
>
> >     rows2 = (db(db.a.b==2).select() & db(db.a.b==3).select()).filter
> > (query=..., orderby=...)
>
> > To allow web2py level searching and re-sorting results from the
> > database. It should be easy to implement as a method of class Rows in
> > sql.py.
>
> > Comments? Any help with this will be appreciated.
>
> > Massimo
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" 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/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to