247 # this is not an inlined relation or no values specified, |
247 # this is not an inlined relation or no values specified, |
248 # explicty remove relations |
248 # explicty remove relations |
249 rql = 'DELETE %s %s %s WHERE X eid %%(x)s, Y eid %%(y)s' % ( |
249 rql = 'DELETE %s %s %s WHERE X eid %%(x)s, Y eid %%(y)s' % ( |
250 subjvar, rschema, objvar) |
250 subjvar, rschema, objvar) |
251 for reid in origvalues.difference(values): |
251 for reid in origvalues.difference(values): |
252 self.relations_rql.append((rql, {'x': eid, 'y': reid}, ('x', 'y'))) |
252 self.relations_rql.append((rql, {'x': eid, 'y': reid})) |
253 seteids = values.difference(origvalues) |
253 seteids = values.difference(origvalues) |
254 if seteids: |
254 if seteids: |
255 rql = 'SET %s %s %s WHERE X eid %%(x)s, Y eid %%(y)s' % ( |
255 rql = 'SET %s %s %s WHERE X eid %%(x)s, Y eid %%(y)s' % ( |
256 subjvar, rschema, objvar) |
256 subjvar, rschema, objvar) |
257 for reid in seteids: |
257 for reid in seteids: |
258 self.relations_rql.append((rql, {'x': eid, 'y': reid}, ('x', 'y'))) |
258 self.relations_rql.append((rql, {'x': eid, 'y': reid})) |
259 |
259 |
260 def delete_entities(self, eidtypes): |
260 def delete_entities(self, eidtypes): |
261 """delete entities from the repository""" |
261 """delete entities from the repository""" |
262 redirect_info = set() |
262 redirect_info = set() |
263 eidtypes = tuple(eidtypes) |
263 eidtypes = tuple(eidtypes) |