don't duplicates restrictions stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 09 Oct 2009 19:21:06 +0200
branchstable
changeset 3634 a2d00ff6eb68
parent 3633 2d81178bea5f
child 3635 a56759c3c99f
don't duplicates restrictions
__init__.py
--- a/__init__.py	Fri Oct 09 19:20:38 2009 +0200
+++ b/__init__.py	Fri Oct 09 19:21:06 2009 +0200
@@ -133,11 +133,13 @@
         """
         rql = 'INSERT %s X' % etype
         relations = []
-        restrictions = []
+        restrictions = set()
         cachekey = []
         for rtype, rvar in args:
             relations.append('X %s %s' % (rtype, rvar))
-            restrictions.append('%s eid %%(%s)s' % (rvar, rvar))
+            restriction = '%s eid %%(%s)s' % (rvar, rvar)
+            if not restriction in restrictions:
+                restrictions.add(restriction)
             cachekey.append(rvar)
         for attr in kwargs:
             if attr in cachekey: