server/sources/rql2sql.py
changeset 7493 3c46b9390871
parent 7473 a164fdf3de5d
child 7580 328542c4fdc8
equal deleted inserted replaced
7492:d7d9ad95c329 7493:3c46b9390871
  1580         try:
  1580         try:
  1581             sql = self._varmap['%s.%s' % (var.name, rtype)]
  1581             sql = self._varmap['%s.%s' % (var.name, rtype)]
  1582             scope = self._state.scopes[var.scope]
  1582             scope = self._state.scopes[var.scope]
  1583             self._state.add_table(sql.split('.', 1)[0], scope=scope)
  1583             self._state.add_table(sql.split('.', 1)[0], scope=scope)
  1584         except KeyError:
  1584         except KeyError:
  1585             sql = '%s.%s%s' % (self._var_table(var), SQL_PREFIX, rtype)
  1585             # rtype may be an attribute relation when called from
  1586             #self._state.done.add(var.name)
  1586             # _visit_var_attr_relation.  take care about 'eid' rtype, since in
       
  1587             # some case we may use the `entities` table, so in that case we've
       
  1588             # to properly use variable'sql
       
  1589             if rtype == 'eid':
       
  1590                 sql = var.accept(self)
       
  1591             else:
       
  1592                 sql = '%s.%s%s' % (self._var_table(var), SQL_PREFIX, rtype)
  1587         return sql
  1593         return sql
  1588 
  1594 
  1589     def _linked_var_sql(self, variable):
  1595     def _linked_var_sql(self, variable):
  1590         if not self._state.ignore_varmap:
  1596         if not self._state.ignore_varmap:
  1591             try:
  1597             try: