]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
`session.Query().iterate_instances()` has been renamed to just `instances()`. The...
authorGaëtan de Menten <gdementen@gmail.com>
Wed, 25 Jun 2008 15:55:49 +0000 (15:55 +0000)
committerGaëtan de Menten <gdementen@gmail.com>
Wed, 25 Jun 2008 15:55:49 +0000 (15:55 +0000)
exists. If you were relying on that behavior, you should use `list(your_query.instances())`.

lib/sqlalchemy/orm/query.py
test/orm/deprecations.py
test/orm/mapper.py
test/orm/query.py

index a2a546caa04018d8a754669d8def3471bbac6b28..ed82a7ca56572293678073e2319eac35dfb9605f 100644 (file)
@@ -1040,28 +1040,16 @@ class Query(object):
 
     def _execute_and_instances(self, querycontext):
         result = self.session.execute(querycontext.statement, params=self._params, mapper=self._mapper_zero_or_none(), _state=self._refresh_state)
-        return self.iterate_instances(result, querycontext)
+        return self.instances(result, querycontext)
 
     def instances(self, cursor, __context=None):
-        """Given a ResultProxy cursor as returned by connection.execute(), return an ORM result as a list.
+        """Given a ResultProxy cursor as returned by connection.execute(), return an ORM result as an iterator.
 
         e.g.::
-        
-            result = engine.execute("select * from users")
-            users = session.query(User).instances(result)
-
-        """
-        return list(self.iterate_instances(cursor, __context))
 
-    def iterate_instances(self, cursor, __context=None):
-        """Given a ResultProxy cursor as returned by connection.execute(), return an ORM result as an iterator.
-        
-        e.g.::
-        
             result = engine.execute("select * from users")
-            for u in session.query(User).iterate_instances(result):
+            for u in session.query(User).instances(result):
                 print u
-
         """
         session = self.session
 
@@ -1128,6 +1116,7 @@ class Query(object):
 
             if not self._yield_per:
                 break
+    iterate_instances = util.deprecated()(instances)
 
     def _get(self, key=None, ident=None, refresh_state=None, lockmode=None, only_load_props=None):
         lockmode = lockmode or self._lockmode
index 9da3571f9a64f1530fe7ca389b098406945980a9..483e8f556befd2b440cb58e20194ad6ab1ff9c8e 100644 (file)
@@ -268,7 +268,7 @@ class QueryAlternativesTest(_base.MappedTest):
         session = create_session()
 
         sel = users_table.join(addresses_table).select(use_labels=True)
-        res = session.query(User, Address).instances(sel.execute())
+        res = list(session.query(User, Address).instances(sel.execute()))
 
         assert len(res) == 4
         cola, colb = res[0]
index 7d0014002218b4780c3e1ca4f7bc045e4a42bffe..8c3bd58c94c8046181f5c61bbb1bd28e6ba96af2 100644 (file)
@@ -845,7 +845,7 @@ class OptionsTest(_fixtures.FixtureTest):
         # session's identity map)
         r = users.select().order_by(users.c.id).execute()
         def go():
-            l = sess.query(User).instances(r)
+            l = list(sess.query(User).instances(r))
             eq_(l, self.static.user_address_result)
         self.sql_count_(4, go)
 
@@ -889,7 +889,7 @@ class OptionsTest(_fixtures.FixtureTest):
         # then assert the data, which will launch 6 more lazy loads
         r = users.select().execute()
         def go():
-            l = sess.query(User).instances(r)
+            l = list(sess.query(User).instances(r))
             eq_(l, self.static.user_all_result)
         self.assert_sql_count(testing.db, go, 6)
 
index fcefc4bd7fa5de8b0b76eb3908f3474ca04b4cdc..d3d0643648418361f066516604acd601e0e639d7 100644 (file)
@@ -341,7 +341,7 @@ class CompileTest(QueryTest):
         session = create_session()
         s = session.query(User).filter(and_(addresses.c.email_address == bindparam('emailad'), Address.user_id==User.id)).statement
 
-        l = session.query(User).instances(s.execute(emailad = 'jack@bean.com'))
+        l = list(session.query(User).instances(s.execute(emailad = 'jack@bean.com')))
         assert [User(id=7)] == l
 
 class SliceTest(QueryTest):
@@ -1001,7 +1001,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
         q = sess.query(User)
 
         def go():
-            l = q.options(contains_alias('ulist'), contains_eager('addresses')).instances(query.execute())
+            l = list(q.options(contains_alias('ulist'), contains_eager('addresses')).instances(query.execute()))
             assert fixtures.user_address_result == l
         self.assert_sql_count(testing.db, go, 1)
 
@@ -1044,7 +1044,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
         q = sess.query(User)
 
         def go():
-            l = q.options(contains_eager('addresses')).instances(selectquery.execute())
+            l = list(q.options(contains_eager('addresses')).instances(selectquery.execute()))
             assert fixtures.user_address_result[0:3] == l
         self.assert_sql_count(testing.db, go, 1)
 
@@ -1052,7 +1052,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
 
 
         def go():
-            l = q.options(contains_eager(User.addresses)).instances(selectquery.execute())
+            l = list(q.options(contains_eager(User.addresses)).instances(selectquery.execute()))
             assert fixtures.user_address_result[0:3] == l
         self.assert_sql_count(testing.db, go, 1)
         sess.clear()
@@ -1070,14 +1070,14 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
         
         # string alias name
         def go():
-            l = q.options(contains_eager('addresses', alias="adalias")).instances(selectquery.execute())
+            l = list(q.options(contains_eager('addresses', alias="adalias")).instances(selectquery.execute()))
             assert fixtures.user_address_result == l
         self.assert_sql_count(testing.db, go, 1)
         sess.clear()
 
         # expression.Alias object
         def go():
-            l = q.options(contains_eager('addresses', alias=adalias)).instances(selectquery.execute())
+            l = list(q.options(contains_eager('addresses', alias=adalias)).instances(selectquery.execute()))
             assert fixtures.user_address_result == l
         self.assert_sql_count(testing.db, go, 1)
 
@@ -1098,7 +1098,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
         q = create_session().query(User)
         # test using string alias with more than one level deep
         def go():
-            l = q.options(contains_eager('orders', alias='o1'), contains_eager('orders.items', alias='i1')).instances(query.execute())
+            l = list(q.options(contains_eager('orders', alias='o1'), contains_eager('orders.items', alias='i1')).instances(query.execute()))
             assert fixtures.user_order_result == l
         self.assert_sql_count(testing.db, go, 1)
 
@@ -1106,7 +1106,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
 
         # test using Alias with more than one level deep
         def go():
-            l = q.options(contains_eager('orders', alias=oalias), contains_eager('orders.items', alias=ialias)).instances(query.execute())
+            l = list(q.options(contains_eager('orders', alias=oalias), contains_eager('orders.items', alias=ialias)).instances(query.execute()))
             assert fixtures.user_order_result == l
         self.assert_sql_count(testing.db, go, 1)
         sess.clear()
@@ -1333,7 +1333,7 @@ class MixedEntitiesTest(QueryTest):
         sess = create_session()
 
         selectquery = users.outerjoin(addresses).select(use_labels=True, order_by=[users.c.id, addresses.c.id])
-        self.assertEquals(sess.query(User, Address).instances(selectquery.execute()), expected)
+        self.assertEquals(list(sess.query(User, Address).instances(selectquery.execute())), expected)
         sess.clear()
 
         for address_entity in (Address, aliased(Address)):