cubicweb/server/querier.py
changeset 12242 68ca7fe0ca29
parent 12241 06deb43c23c3
child 12495 23081860ea60
equal deleted inserted replaced
12241:06deb43c23c3 12242:68ca7fe0ca29
   345         self.e_defs[-1].append(edef)
   345         self.e_defs[-1].append(edef)
   346 
   346 
   347     def add_relation_def(self, rdef):
   347     def add_relation_def(self, rdef):
   348         """add an relation definition to build"""
   348         """add an relation definition to build"""
   349         edef, rtype, value = rdef
   349         edef, rtype, value = rdef
       
   350         if self.schema[rtype].rule:
       
   351             raise QueryError("'%s' is a computed relation" % rtype)
   350         self.r_defs.add(rdef)
   352         self.r_defs.add(rdef)
   351         if not isinstance(edef, int):
   353         if not isinstance(edef, int):
   352             self._r_subj_index.setdefault(edef, []).append(rdef)
   354             self._r_subj_index.setdefault(edef, []).append(rdef)
   353         if not isinstance(value, int):
   355         if not isinstance(value, int):
   354             self._r_obj_index.setdefault(value, []).append(rdef)
   356             self._r_obj_index.setdefault(value, []).append(rdef)