server/repository.py
changeset 7622 36126858405f
parent 7574 34154f48d255
parent 7616 8837e4733888
child 7698 1c7411535c2d
equal deleted inserted replaced
7620:bc2d690b97bf 7622:36126858405f
   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):