heres an entirely valid SA expression:
subq = t2.select().alias('subq')
s = select([t1.c.col1, subq.c.col1], from_obj=[t1, subq,
t1.join(subq, t1.c.col1==subq.c.col2)])
the way the above works is, t1.join(subq) sends a message to the
enclosing Select to "hide" t1 and subq individually in the FROM
clause. this is some pretty old logic but its still whats in effect
today and it makes it easy to build up Select statements without
worrying whats already in the FROM clause.
traversing that, we will hit "subq" at least twice. r3755 makes more
changes to accomodate the above, where it only clones "subq" once.
the resulting clone still has some old "subq" references lying around
though...instead of trying to make the traversal crazy so that it
finds and exactly replaces every occurence of "subq" or "subq"-
referencing column with the exact correct replacement, i changed
Select so that when it constructs the FROM clause it takes into
account the old instance of "subq" as well as the cloned
version...since thats really the only place that "multiple copies" of
subq really matter in the final output.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" 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/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---