server/checkintegrity.py
changeset 8900 010a59e12d89
parent 8696 0bb18407c053
child 9171 be9596750678
equal deleted inserted replaced
8899:c7a95ebcc093 8900:010a59e12d89
   327                 if role == 'subject':
   327                 if role == 'subject':
   328                     rql = 'Any X WHERE NOT X %s Y, X is %s' % (rschema, etype)
   328                     rql = 'Any X WHERE NOT X %s Y, X is %s' % (rschema, etype)
   329                 else:
   329                 else:
   330                     rql = 'Any X WHERE NOT Y %s X, X is %s' % (rschema, etype)
   330                     rql = 'Any X WHERE NOT Y %s X, X is %s' % (rschema, etype)
   331                 for entity in session.execute(rql).entities():
   331                 for entity in session.execute(rql).entities():
   332                     sys.stderr.write(msg % (entity.__regid__, entity.eid, role, rschema))
   332                     sys.stderr.write(msg % (entity.cw_etype, entity.eid, role, rschema))
   333                     if fix:
   333                     if fix:
   334                         #if entity.cw_describe()['source']['uri'] == 'system': XXX
   334                         #if entity.cw_describe()['source']['uri'] == 'system': XXX
   335                         entity.cw_delete() # XXX this is BRUTAL!
   335                         entity.cw_delete() # XXX this is BRUTAL!
   336                     notify_fixed(fix)
   336                     notify_fixed(fix)
   337 
   337 
   348         for rdef in rschema.rdefs.itervalues():
   348         for rdef in rschema.rdefs.itervalues():
   349             if rdef.cardinality[0] in '1+':
   349             if rdef.cardinality[0] in '1+':
   350                 rql = 'Any X WHERE X %s NULL, X is %s, X cw_source S, S name "system"' % (
   350                 rql = 'Any X WHERE X %s NULL, X is %s, X cw_source S, S name "system"' % (
   351                     rschema, rdef.subject)
   351                     rschema, rdef.subject)
   352                 for entity in session.execute(rql).entities():
   352                 for entity in session.execute(rql).entities():
   353                     sys.stderr.write(msg % (entity.__regid__, entity.eid, rschema))
   353                     sys.stderr.write(msg % (entity.cw_etype, entity.eid, rschema))
   354                     if fix:
   354                     if fix:
   355                         entity.cw_delete()
   355                         entity.cw_delete()
   356                     notify_fixed(fix)
   356                     notify_fixed(fix)
   357 
   357 
   358 
   358