Index: SQLAlchemy-0.6.5/test/orm/test_eager_relations.py =================================================================== --- SQLAlchemy-0.6.5.orig/test/orm/test_eager_relations.py +++ SQLAlchemy-0.6.5/test/orm/test_eager_relations.py @@ -610,7 +610,7 @@ class EagerTest(_fixtures.FixtureTest, t sel = sa.select([users, addresses.c.email_address], users.c.id==addresses.c.user_id).alias('useralias') mapper(User, sel, properties={ - 'orders':relationship(Order, primaryjoin=sel.c.id==orders.c.user_id, lazy='joined') + 'orders':relationship(Order, primaryjoin=sel.c.id==orders.c.user_id, lazy='joined', order_by=orders.c.id) }) mapper(Order, orders) Index: SQLAlchemy-0.6.5/test/orm/test_expire.py =================================================================== --- SQLAlchemy-0.6.5.orig/test/orm/test_expire.py +++ SQLAlchemy-0.6.5/test/orm/test_expire.py @@ -732,7 +732,7 @@ class ExpireTest(_fixtures.FixtureTest): @testing.resolve_artifact_names def test_expire_all(self): mapper(User, users, properties={ - 'addresses':relationship(Address, backref='user', lazy='joined'), + 'addresses':relationship(Address, backref='user', lazy='joined', order_by=addresses.c.id), }) mapper(Address, addresses) Index: SQLAlchemy-0.6.5/test/orm/test_mapper.py =================================================================== --- SQLAlchemy-0.6.5.orig/test/orm/test_mapper.py +++ SQLAlchemy-0.6.5/test/orm/test_mapper.py @@ -1319,7 +1319,7 @@ class OptionsTest(_fixtures.FixtureTest) def test_eager_degrade(self): """An eager relationship automatically degrades to a lazy relationship if eager columns are not available""" mapper(User, users, properties=dict( - addresses = relationship(mapper(Address, addresses), lazy='joined'))) + addresses = relationship(mapper(Address, addresses), lazy='joined', order_by=addresses.c.id))) sess = create_session() # first test straight eager load, 1 statement Index: SQLAlchemy-0.6.5/test/orm/test_query.py =================================================================== --- SQLAlchemy-0.6.5.orig/test/orm/test_query.py +++ SQLAlchemy-0.6.5/test/orm/test_query.py @@ -2739,12 +2739,12 @@ class InstancesTest(QueryTest, AssertsCo sess = create_session() # test that contains_eager suppresses the normal outer join rendering - q = sess.query(User).outerjoin(User.addresses).options(contains_eager(User.addresses)).order_by(User.id) + q = sess.query(User).outerjoin(User.addresses).options(contains_eager(User.addresses)).order_by(User.id, addresses.c.id) self.assert_compile(q.with_labels().statement, "SELECT addresses.id AS addresses_id, addresses.user_id AS addresses_user_id, "\ "addresses.email_address AS addresses_email_address, users.id AS users_id, "\ "users.name AS users_name FROM users LEFT OUTER JOIN addresses "\ - "ON users.id = addresses.user_id ORDER BY users.id" + "ON users.id = addresses.user_id ORDER BY users.id, addresses.id" , dialect=default.DefaultDialect()) def go(): @@ -2753,7 +2753,7 @@ class InstancesTest(QueryTest, AssertsCo sess.expunge_all() adalias = addresses.alias() - q = sess.query(User).select_from(users.outerjoin(adalias)).options(contains_eager(User.addresses, alias=adalias)) + q = sess.query(User).select_from(users.outerjoin(adalias)).options(contains_eager(User.addresses, alias=adalias)).order_by(User.id, adalias.c.id) def go(): eq_(self.static.user_address_result, q.order_by(User.id).all()) self.assert_sql_count(testing.db, go, 1)