From: Mike Bayer Date: Tue, 24 Jul 2007 22:31:46 +0000 (+0000) Subject: test graceful fallback to lazy loading for cyclical eager load with no join_depth X-Git-Tag: rel_0_4_6~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fa2017b50c2657717180a003dc348a7a30958f7;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git test graceful fallback to lazy loading for cyclical eager load with no join_depth --- diff --git a/test/orm/eager_relations.py b/test/orm/eager_relations.py index 49ea65153b..a109be56f0 100644 --- a/test/orm/eager_relations.py +++ b/test/orm/eager_relations.py @@ -478,5 +478,37 @@ class SelfReferentialEagerTest(ORMTest): ]) == d self.assert_sql_count(testbase.db, go, 1) + def test_no_depth(self): + class Node(Base): + def append(self, node): + self.children.append(node) + + mapper(Node, nodes, properties={ + 'children':relation(Node, lazy=False) + }) + sess = create_session() + n1 = Node(data='n1') + n1.append(Node(data='n11')) + n1.append(Node(data='n12')) + n1.append(Node(data='n13')) + n1.children[1].append(Node(data='n121')) + n1.children[1].append(Node(data='n122')) + n1.children[1].append(Node(data='n123')) + sess.save(n1) + sess.flush() + sess.clear() + def go(): + d = sess.query(Node).filter_by(data='n1').first() + assert Node(data='n1', children=[ + Node(data='n11'), + Node(data='n12', children=[ + Node(data='n121'), + Node(data='n122'), + Node(data='n123') + ]), + Node(data='n13') + ]) == d + self.assert_sql_count(testbase.db, go, 3) + if __name__ == '__main__': testbase.main()