]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
this one is unbelievable
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 24 Mar 2010 00:25:06 +0000 (20:25 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 24 Mar 2010 00:25:06 +0000 (20:25 -0400)
test/orm/inheritance/test_query.py

index e1118a3f8acb8c263cbcf1e64aa35234e3a4204e..5e6375eab7e598b6f19e8cc5a53e2e3090a8c116 100644 (file)
@@ -1282,7 +1282,7 @@ class EagerToSubclassTest(_base.MappedTest):
             )
         self.assert_sql_count(testing.db, go, 1)
 
-class SubClassEagerToSubclassTest(_base.MappedTest):
+class SubClassEagerToSubClassTest(_base.MappedTest):
     """Test eagerloads from subclass to subclass mappers"""
 
     run_setup_classes = 'once'
@@ -1396,4 +1396,27 @@ class SubClassEagerToSubclassTest(_base.MappedTest):
             )
         self.assert_sql_count(testing.db, go, 1)
 
+    @testing.resolve_artifact_names
+    def test_subqueryload(self):
+        sess = create_session()
+        def go():
+            eq_(
+                sess.query(Subparent).options(subqueryload(Subparent.children)).all(), 
+                [
+                    Subparent(data='p1', children=[Sub(data='s1'), Sub(data='s2'), Sub(data='s3')]),
+                    Subparent(data='p2', children=[Sub(data='s4'), Sub(data='s5')])
+                ]
+            )
+        self.assert_sql_count(testing.db, go, 2)
+
+        sess.expunge_all()
+        def go():
+            eq_(
+                sess.query(Subparent).options(subqueryload("children")).all(), 
+                [
+                    Subparent(data='p1', children=[Sub(data='s1'), Sub(data='s2'), Sub(data='s3')]),
+                    Subparent(data='p2', children=[Sub(data='s4'), Sub(data='s5')])
+                ]
+            )
+        self.assert_sql_count(testing.db, go, 2)