diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-10-04 23:52:14 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-10-04 23:52:14 +0000 |
commit | 8f4999a70bc68801ba032ffdd367249186d4cb67 (patch) | |
tree | ce425410d15ad650c24b352eedd2b6434eccd4f8 /test/orm/query.py | |
parent | cba429c0bcd343d037945ff6452f5d10989db761 (diff) | |
download | sqlalchemy-8f4999a70bc68801ba032ffdd367249186d4cb67.tar.gz |
- fix outerjoin, add order_by for DB variance
Diffstat (limited to 'test/orm/query.py')
-rw-r--r-- | test/orm/query.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/test/orm/query.py b/test/orm/query.py index 12c75d94f..151bada63 100644 --- a/test/orm/query.py +++ b/test/orm/query.py @@ -1355,7 +1355,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL): # then eagerload the addresses. User + Order columns go into the subquery, address # left outer joins to the subquery, eagerloader for User.orders applies context.adapter # to result rows. This was [ticket:1180]. - l = q.outerjoin(User.orders).options(eagerload(User.addresses), contains_eager(User.orders)).offset(1).limit(2).all() + l = q.outerjoin(User.orders).options(eagerload(User.addresses), contains_eager(User.orders)).order_by(User.id, Order.id).offset(1).limit(2).all() eq_(l, [User(id=7, addresses=[Address(email_address=u'jack@bean.com',user_id=7,id=1)], name=u'jack', @@ -1364,14 +1364,13 @@ class InstancesTest(QueryTest, AssertsCompiledSQL): Order(address_id=None,user_id=7,description=u'order 5',isopen=0,id=5) ])]) self.assert_sql_count(testing.db, go, 1) - sess.clear() - + def go(): # same as above, except Order is aliased, so two adapters are applied by the # eager loader oalias = aliased(Order) - l = q.outerjoin(User.orders, oalias).options(eagerload(User.addresses), contains_eager(User.orders, alias=oalias)).offset(1).limit(2).all() + l = q.outerjoin((User.orders, oalias)).options(eagerload(User.addresses), contains_eager(User.orders, alias=oalias)).order_by(User.id, oalias.id).offset(1).limit(2).all() eq_(l, [User(id=7, addresses=[Address(email_address=u'jack@bean.com',user_id=7,id=1)], name=u'jack', |