740 ex.entity = ex.entity.eid # error raised by yams |
740 ex.entity = ex.entity.eid # error raised by yams |
741 args = list(ex.args) |
741 args = list(ex.args) |
742 args[0] = ex.entity |
742 args[0] = ex.entity |
743 ex.args = tuple(args) |
743 ex.args = tuple(args) |
744 raise |
744 raise |
745 except: |
745 except Exception: |
746 # FIXME: check error to catch internal errors |
746 # FIXME: check error to catch internal errors |
747 self.exception('unexpected error while executing %s with %s', rqlstring, args) |
747 self.exception('unexpected error while executing %s with %s', rqlstring, args) |
748 raise |
748 raise |
749 finally: |
749 finally: |
750 session.free_cnxset() |
750 session.free_cnxset() |
1143 # (here, scleanup |
1143 # (here, scleanup |
1144 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1144 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1145 try: |
1145 try: |
1146 session.execute(rql, {'x': eid, 'seid': scleanup}, |
1146 session.execute(rql, {'x': eid, 'seid': scleanup}, |
1147 build_descr=False) |
1147 build_descr=False) |
1148 except: |
1148 except Exception: |
1149 self.exception('error while cascading delete for entity %s ' |
1149 self.exception('error while cascading delete for entity %s ' |
1150 'from %s. RQL: %s', entity, sourceuri, rql) |
1150 'from %s. RQL: %s', entity, sourceuri, rql) |
1151 self.system_source.delete_info_multi(session, [entity], sourceuri) |
1151 self.system_source.delete_info_multi(session, [entity], sourceuri) |
1152 |
1152 |
1153 def _delete_info_multi(self, session, entities, sourceuri, scleanup=None): |
1153 def _delete_info_multi(self, session, entities, sourceuri, scleanup=None): |
1173 if scleanup is not None: |
1173 if scleanup is not None: |
1174 # source cleaning: only delete relations stored locally |
1174 # source cleaning: only delete relations stored locally |
1175 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1175 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1176 try: |
1176 try: |
1177 session.execute(rql, {'seid': scleanup}, build_descr=False) |
1177 session.execute(rql, {'seid': scleanup}, build_descr=False) |
1178 except: |
1178 except Exception: |
1179 self.exception('error while cascading delete for entity %s ' |
1179 self.exception('error while cascading delete for entity %s ' |
1180 'from %s. RQL: %s', entities, sourceuri, rql) |
1180 'from %s. RQL: %s', entities, sourceuri, rql) |
1181 self.system_source.delete_info_multi(session, entities, sourceuri) |
1181 self.system_source.delete_info_multi(session, entities, sourceuri) |
1182 |
1182 |
1183 def locate_relation_source(self, session, subject, rtype, object): |
1183 def locate_relation_source(self, session, subject, rtype, object): |