server/msplanner.py
changeset 4956 e8a5cd5032f4
parent 4722 9c13d5db03d9
child 5004 4cc020ee70e2
child 5168 1ab032df5ca3
equal deleted inserted replaced
4955:8ddd5e938804 4956:e8a5cd5032f4
   311             # if variable has an eid specified, we can get its source directly
   311             # if variable has an eid specified, we can get its source directly
   312             # NOTE: use uidrels and not constnode to deal with "X eid IN(1,2,3,4)"
   312             # NOTE: use uidrels and not constnode to deal with "X eid IN(1,2,3,4)"
   313             if varobj.stinfo['uidrels']:
   313             if varobj.stinfo['uidrels']:
   314                 vrels = varobj.stinfo['relations'] - varobj.stinfo['uidrels']
   314                 vrels = varobj.stinfo['relations'] - varobj.stinfo['uidrels']
   315                 for rel in varobj.stinfo['uidrels']:
   315                 for rel in varobj.stinfo['uidrels']:
   316                     if rel.neged(strict=True) or rel.operator() != '=':
       
   317                         continue
       
   318                     for const in rel.children[1].get_nodes(Constant):
   316                     for const in rel.children[1].get_nodes(Constant):
   319                         eid = const.eval(self.plan.args)
   317                         eid = const.eval(self.plan.args)
   320                         source = self._session.source_from_eid(eid)
   318                         source = self._session.source_from_eid(eid)
   321                         if vrels and not any(source.support_relation(r.r_type)
   319                         if vrels and not any(source.support_relation(r.r_type)
   322                                              for r in vrels):
   320                                              for r in vrels):