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.reset_pool() |
750 session.reset_pool() |
1118 # (here, scleanup |
1118 # (here, scleanup |
1119 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1119 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1120 try: |
1120 try: |
1121 session.execute(rql, {'x': eid, 'seid': scleanup}, |
1121 session.execute(rql, {'x': eid, 'seid': scleanup}, |
1122 build_descr=False) |
1122 build_descr=False) |
1123 except: |
1123 except Exception: |
1124 self.exception('error while cascading delete for entity %s ' |
1124 self.exception('error while cascading delete for entity %s ' |
1125 'from %s. RQL: %s', entity, sourceuri, rql) |
1125 'from %s. RQL: %s', entity, sourceuri, rql) |
1126 self.system_source.delete_info_multi(session, [entity], sourceuri) |
1126 self.system_source.delete_info_multi(session, [entity], sourceuri) |
1127 |
1127 |
1128 def _delete_info_multi(self, session, entities, sourceuri, scleanup=None): |
1128 def _delete_info_multi(self, session, entities, sourceuri, scleanup=None): |
1148 if scleanup is not None: |
1148 if scleanup is not None: |
1149 # source cleaning: only delete relations stored locally |
1149 # source cleaning: only delete relations stored locally |
1150 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1150 rql += ', NOT (Y cw_source S, S eid %(seid)s)' |
1151 try: |
1151 try: |
1152 session.execute(rql, {'seid': scleanup}, build_descr=False) |
1152 session.execute(rql, {'seid': scleanup}, build_descr=False) |
1153 except: |
1153 except Exception: |
1154 self.exception('error while cascading delete for entity %s ' |
1154 self.exception('error while cascading delete for entity %s ' |
1155 'from %s. RQL: %s', entities, sourceuri, rql) |
1155 'from %s. RQL: %s', entities, sourceuri, rql) |
1156 self.system_source.delete_info_multi(session, entities, sourceuri) |
1156 self.system_source.delete_info_multi(session, entities, sourceuri) |
1157 |
1157 |
1158 def locate_relation_source(self, session, subject, rtype, object): |
1158 def locate_relation_source(self, session, subject, rtype, object): |