server/repository.py
changeset 9770 112c884b2d8d
parent 9757 6eb7f361fba0
parent 9769 d3f8866a48f5
child 9774 b7b71be569cf
equal deleted inserted replaced
9765:5607ef9ab9f5 9770:112c884b2d8d
   682 
   682 
   683     def execute(self, sessionid, rqlstring, args=None, build_descr=True,
   683     def execute(self, sessionid, rqlstring, args=None, build_descr=True,
   684                 txid=None):
   684                 txid=None):
   685         """execute a RQL query
   685         """execute a RQL query
   686 
   686 
   687         * rqlstring should be an unicode string or a plain ascii string
   687         * rqlstring should be a unicode string or a plain ascii string
   688         * args the optional parameters used in the query
   688         * args the optional parameters used in the query
   689         * build_descr is a flag indicating if the description should be
   689         * build_descr is a flag indicating if the description should be
   690           built on select queries
   690           built on select queries
   691         """
   691         """
   692         session = self._get_session(sessionid, setcnxset=True, txid=txid)
   692         session = self._get_session(sessionid, setcnxset=True, txid=txid)
  1260                     hm.call_hooks('after_delete_relation', cnx,
  1260                     hm.call_hooks('after_delete_relation', cnx,
  1261                                   eidfrom=entity.eid, rtype=attr, eidto=prevvalue)
  1261                                   eidfrom=entity.eid, rtype=attr, eidto=prevvalue)
  1262                     if relcache is not None:
  1262                     if relcache is not None:
  1263                         cnx.update_rel_cache_del(entity.eid, attr, prevvalue)
  1263                         cnx.update_rel_cache_del(entity.eid, attr, prevvalue)
  1264                 del_existing_rel_if_needed(cnx, entity.eid, attr, value)
  1264                 del_existing_rel_if_needed(cnx, entity.eid, attr, value)
  1265                 if relcache is not None:
  1265                 cnx.update_rel_cache_add(entity.eid, attr, value)
  1266                     cnx.update_rel_cache_add(entity.eid, attr, value)
       
  1267                 else:
       
  1268                     entity.cw_set_relation_cache(attr, 'subject',
       
  1269                                                  cnx.eid_rset(value))
       
  1270                 hm.call_hooks('after_add_relation', cnx,
  1266                 hm.call_hooks('after_add_relation', cnx,
  1271                               eidfrom=entity.eid, rtype=attr, eidto=value)
  1267                               eidfrom=entity.eid, rtype=attr, eidto=value)
  1272         finally:
  1268         finally:
  1273             if orig_edited is not None:
  1269             if orig_edited is not None:
  1274                 entity.cw_edited = orig_edited
  1270                 entity.cw_edited = orig_edited