diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-28 23:01:04 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-28 23:01:04 +0000 |
| commit | 2fb9221b797e5a29e34096c09d97615d859e95d1 (patch) | |
| tree | 965d4eeb9ac74a6d83fa4867cf0c0b3496a7c35c /test | |
| parent | 5c0e32bf33a5db32c1beabc0fadb4ddd1fbd24be (diff) | |
| download | sqlalchemy-2fb9221b797e5a29e34096c09d97615d859e95d1.tar.gz | |
fixed endless loop bug in select_by(), if the traversal hit
two mappers that referenced each other
Diffstat (limited to 'test')
| -rw-r--r-- | test/orm/mapper.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/orm/mapper.py b/test/orm/mapper.py index e1cdb5177..146099815 100644 --- a/test/orm/mapper.py +++ b/test/orm/mapper.py @@ -247,6 +247,15 @@ class MapperTest(MapperSuperTest): l = create_session().query(User).select(users.c.user_name.endswith('ed')) self.assert_result(l, User, *user_result[1:3]) + def testrecursiveselectby(self): + """test that no endless loop occurs when traversing for select_by""" + m = mapper(User, users, properties={ + 'orders':relation(mapper(Order, orders), backref='user'), + 'addresses':relation(mapper(Address, addresses), backref='user'), + }) + q = create_session().query(m) + q.select_by(email_address='foo') + def testjoinvia(self): m = mapper(User, users, properties={ 'orders':relation(mapper(Order, orders, properties={ |
