]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- use newly fixed WeakSequence (#2794) to not have to rely on class name for sorting...
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 18 Aug 2013 20:09:17 +0000 (16:09 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 18 Aug 2013 20:10:23 +0000 (16:10 -0400)
lib/sqlalchemy/orm/mapper.py

index e5c9a05c2e3fb51bb6e92ed3bb247abb319e64e6..0f9ea1429cc77469e0f070e2b93e32b92041afe4 100644 (file)
@@ -482,7 +482,7 @@ class Mapper(_InspectionAttr):
         being present."""
 
         # a set of all mappers which inherit from this one.
-        self._inheriting_mappers = util.WeakSet()
+        self._inheriting_mappers = util.WeakSequence()
 
         if self.inherits:
             if isinstance(self.inherits, type):
@@ -556,7 +556,7 @@ class Mapper(_InspectionAttr):
 
             self.polymorphic_map = self.inherits.polymorphic_map
             self.batch = self.inherits.batch
-            self.inherits._inheriting_mappers.add(self)
+            self.inherits._inheriting_mappers.append(self)
             self.base_mapper = self.inherits.base_mapper
             self.passive_updates = self.inherits.passive_updates
             self._all_tables = self.inherits._all_tables
@@ -623,7 +623,7 @@ class Mapper(_InspectionAttr):
         self.batch = self.inherits.batch
         for mp in self.self_and_descendants:
             mp.base_mapper = self.inherits.base_mapper
-        self.inherits._inheriting_mappers.add(self)
+        self.inherits._inheriting_mappers.append(self)
         self.passive_updates = self.inherits.passive_updates
         self._all_tables = self.inherits._all_tables
         for key, prop in mapper._props.iteritems():
@@ -1798,8 +1798,7 @@ class Mapper(_InspectionAttr):
         while stack:
             item = stack.popleft()
             descendants.append(item)
-            stack.extend(sorted(item._inheriting_mappers,
-                        key=lambda m: m.class_.__name__))
+            stack.extend(item._inheriting_mappers)
         return util.WeakSequence(descendants)
 
     def polymorphic_iterator(self):