equal
deleted
inserted
replaced
631 if selected: |
631 if selected: |
632 # select V, we need it as the left most selected variable |
632 # select V, we need it as the left most selected variable |
633 # if some outer join are included to fetch inlined relations |
633 # if some outer join are included to fetch inlined relations |
634 rql = 'Any %s,%s %s' % (V, ','.join(var for attr, var in selected), |
634 rql = 'Any %s,%s %s' % (V, ','.join(var for attr, var in selected), |
635 ','.join(rql)) |
635 ','.join(rql)) |
636 rset = self._cw.execute(rql, {'x': self.eid}, build_descr=False)[0] |
636 try: |
|
637 rset = self._cw.execute(rql, {'x': self.eid}, build_descr=False)[0] |
|
638 except IndexError: |
|
639 raise Exception('unable to fetch attributes for entity with eid %s' |
|
640 % self.eid) |
637 # handle attributes |
641 # handle attributes |
638 for i in xrange(1, lastattr): |
642 for i in xrange(1, lastattr): |
639 self.cw_attr_cache[str(selected[i-1][0])] = rset[i] |
643 self.cw_attr_cache[str(selected[i-1][0])] = rset[i] |
640 # handle relations |
644 # handle relations |
641 for i in xrange(lastattr, len(rset)): |
645 for i in xrange(lastattr, len(rset)): |