equal
deleted
inserted
replaced
393 def _synchronize_rschema(self, rtype, syncrdefs=True, syncperms=True, syncprops=True): |
393 def _synchronize_rschema(self, rtype, syncrdefs=True, syncperms=True, syncprops=True): |
394 """synchronize properties of the persistent relation schema against its |
394 """synchronize properties of the persistent relation schema against its |
395 current definition: |
395 current definition: |
396 |
396 |
397 * description |
397 * description |
398 * symetric, meta |
398 * symmetric, meta |
399 * inlined |
399 * inlined |
400 * relation definitions if `syncrdefs` |
400 * relation definitions if `syncrdefs` |
401 * permissions if `syncperms` |
401 * permissions if `syncperms` |
402 |
402 |
403 physical schema changes should be handled by repository's schema hooks |
403 physical schema changes should be handled by repository's schema hooks |
480 rschema = self.fs_schema.rschema(rtype) |
480 rschema = self.fs_schema.rschema(rtype) |
481 reporschema = self.repo.schema.rschema(rschema) |
481 reporschema = self.repo.schema.rschema(rschema) |
482 if (subjtype, rschema, objtype) in self._synchronized: |
482 if (subjtype, rschema, objtype) in self._synchronized: |
483 return |
483 return |
484 self._synchronized.add((subjtype, rschema, objtype)) |
484 self._synchronized.add((subjtype, rschema, objtype)) |
485 if rschema.symetric: |
485 if rschema.symmetric: |
486 self._synchronized.add((objtype, rschema, subjtype)) |
486 self._synchronized.add((objtype, rschema, subjtype)) |
487 confirm = self.verbosity >= 2 |
487 confirm = self.verbosity >= 2 |
488 if syncprops: |
488 if syncprops: |
489 # properties |
489 # properties |
490 self.rqlexecall(ss.updaterdef2rql(rschema, subjtype, objtype), |
490 self.rqlexecall(ss.updaterdef2rql(rschema, subjtype, objtype), |
762 # actually in the schema |
762 # actually in the schema |
763 added.append(rschema.type) |
763 added.append(rschema.type) |
764 self.cmd_add_relation_type(rschema.type, False, commit=True) |
764 self.cmd_add_relation_type(rschema.type, False, commit=True) |
765 rtypeadded = True |
765 rtypeadded = True |
766 # register relation definition |
766 # register relation definition |
767 # remember this two avoid adding twice non symetric relation |
767 # remember this two avoid adding twice non symmetric relation |
768 # such as "Emailthread forked_from Emailthread" |
768 # such as "Emailthread forked_from Emailthread" |
769 added.append((etype, rschema.type, targettype)) |
769 added.append((etype, rschema.type, targettype)) |
770 self.rqlexecall(ss.rdef2rql(rschema, etype, targettype, |
770 self.rqlexecall(ss.rdef2rql(rschema, etype, targettype, |
771 groupmap=groupmap), |
771 groupmap=groupmap), |
772 ask_confirm=confirm) |
772 ask_confirm=confirm) |