equal
deleted
inserted
replaced
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) |