summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/topological.py
diff options
context:
space:
mode:
authorJason Kirtland <jek@discorporate.us>2007-11-03 20:23:26 +0000
committerJason Kirtland <jek@discorporate.us>2007-11-03 20:23:26 +0000
commit429e69db67baa8fc93ff2b55361ba2831cc26144 (patch)
treed513a330fff0a9ff6313e78f28d8f12a7d399ade /lib/sqlalchemy/topological.py
parent4210a1ef236e0fbc65878dd1a1ddcc8e13d43c45 (diff)
downloadsqlalchemy-429e69db67baa8fc93ff2b55361ba2831cc26144.tar.gz
- Removed equality, truth and hash() testing of mapped instances. Mapped
classes can now implement arbitrary __eq__ and friends. [ticket:676]
Diffstat (limited to 'lib/sqlalchemy/topological.py')
-rw-r--r--lib/sqlalchemy/topological.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/topological.py b/lib/sqlalchemy/topological.py
index d38c5cf4a..a47968519 100644
--- a/lib/sqlalchemy/topological.py
+++ b/lib/sqlalchemy/topological.py
@@ -153,20 +153,20 @@ class QueueDependencySorter(object):
nodes = {}
edges = _EdgeCollection()
for item in allitems + [t[0] for t in tuples] + [t[1] for t in tuples]:
- if item not in nodes:
+ if id(item) not in nodes:
node = _Node(item)
- nodes[item] = node
+ nodes[id(item)] = node
for t in tuples:
if t[0] is t[1]:
if allow_self_cycles:
- n = nodes[t[0]]
+ n = nodes[id(t[0])]
n.cycles = util.Set([n])
continue
else:
raise CircularDependencyError("Self-referential dependency detected " + repr(t))
- childnode = nodes[t[1]]
- parentnode = nodes[t[0]]
+ childnode = nodes[id(t[1])]
+ parentnode = nodes[id(t[0])]
edges.add((parentnode, childnode))
queue = []
@@ -202,7 +202,7 @@ class QueueDependencySorter(object):
node = queue.pop()
if not hasattr(node, '_cyclical'):
output.append(node)
- del nodes[node.item]
+ del nodes[id(node.item)]
for childnode in edges.pop_node(node):
queue.append(childnode)
return self._create_batched_tree(output)