server/sources/pyrorql.py
changeset 7650 278fe9c1f3ad
parent 7536 29961a416faa
child 7697 ef50074a0314
--- a/server/sources/pyrorql.py	Tue Jul 12 10:36:22 2011 +0200
+++ b/server/sources/pyrorql.py	Tue Jul 12 11:27:42 2011 +0200
@@ -443,6 +443,10 @@
 
     def delete_entity(self, session, entity):
         """delete an entity from the source"""
+        if session.deleted_in_transaction (self.eid):
+            # source is being deleted, don't propagate
+            self._query_cache.clear()
+            return
         cu = session.cnxset[self.uri]
         cu.execute('DELETE %s X WHERE X eid %%(x)s' % entity.__regid__,
                    {'x': self.eid2extid(entity.eid, session)})
@@ -460,6 +464,10 @@
 
     def delete_relation(self, session, subject, rtype, object):
         """delete a relation from the source"""
+        if session.deleted_in_transaction (self.eid):
+            # source is being deleted, don't propagate
+            self._query_cache.clear()
+            return
         cu = session.cnxset[self.uri]
         cu.execute('DELETE X %s Y WHERE X eid %%(x)s, Y eid %%(y)s' % rtype,
                    {'x': self.eid2extid(subject, session),