Re: [Sqlalchemy-tickets] [sqlalchemy] #2779: Join order determinism in polymorphic loads
Brought to you by:
zzzeek
|
From: sqlalchemy <mi...@zz...> - 2013-07-11 19:40:51
|
#2779: Join order determinism in polymorphic loads
----------------------------------+------------------------------------
Reporter: aelaguiz | Owner: zzzeek
Type: defect | Status: new
Priority: medium | Milestone:
Component: cextensions | Severity: no triage selected yet
Resolution: | Keywords:
Progress State: awaiting triage |
----------------------------------+------------------------------------
Comment (by zzzeek):
the current spot where ordering isn't deterministic on this one appears to
be:
{{{
#!diff
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -1798,7 +1798,7 @@ class Mapper(_InspectionAttr):
while stack:
item = stack.popleft()
descendants.append(item)
- stack.extend(item._inheriting_mappers)
+ stack.extend(sorted(item._inheriting_mappers, key=lambda m:
m.class_.__name__))
return util.WeakSequence(descendants)
def polymorphic_iterator(self):
}}}
but I'd want to look into the best way for this list to be sorted, perhaps
even using WeakSequence for item._inheriting_mappers in the first place.
--
Ticket URL: <http://www.sqlalchemy.org/trac/ticket/2779#comment:2>
sqlalchemy <http://www.sqlalchemy.org/>
The Database Toolkit for Python
|