On Nov 9, 2007, at 6:49 PM, [EMAIL PROTECTED] wrote:

> om sqlalchemy import *
> from sqlalchemy.sql.util import ClauseAdapter
> m = MetaData()
> a=Table( 'a',m,
>    Column( 'id',    Integer, primary_key=True),
>    Column( 'xxx_id', Integer, ForeignKey( 'a.id', name='adf',
> use_alter=True ) )
> )
>
> e = (a.c.id == a.c.xxx_id)
> print e
>
> b = a.alias()
> #print b.c.id == 0
>
> r = ClauseAdapter( b, include= set([ a.c.id ]),
>    equivalents= { a.c.id: set([ a.c.id]) }
> ).traverse( e)
> print e
>
> ######### results
>
> #in r3726: (OK)
> a.id = a.xxx_id
> a_1.id = a.xxx_id
>
> #in r3727 - as well as in r3760:
> a.id = a.xxx_id
> a.id = a.xxx_id

no, it works, it just clones in all cases:

sql_util.ClauseAdapter( b, include= set([ a.c.id ]),
            equivalents= { a.c.id: set([ a.c.id]) }
         ).traverse( e)

assert str(e) == "a_1.id = a.xxx_id"



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to