server/sources/rql2sql.py
changeset 6493 019ab5eb37ea
parent 6491 ee9a10b6620e
child 6929 e9464d975908
equal deleted inserted replaced
6492:47a284c0d012 6493:019ab5eb37ea
  1335             sql = '%s.%s%s' % (linkedvar._q_sqltable, SQL_PREFIX, rel.r_type)
  1335             sql = '%s.%s%s' % (linkedvar._q_sqltable, SQL_PREFIX, rel.r_type)
  1336         return sql
  1336         return sql
  1337 
  1337 
  1338     # tables handling #########################################################
  1338     # tables handling #########################################################
  1339 
  1339 
  1340     def alias_and_add_table(self, tablename):
  1340     def alias_and_add_table(self, tablename, scope=-1):
  1341         alias = '%s%s' % (tablename, self._state.count)
  1341         alias = '%s%s' % (tablename, self._state.count)
  1342         self._state.count += 1
  1342         self._state.count += 1
  1343         self.add_table('%s AS %s' % (tablename, alias), alias)
  1343         self.add_table('%s AS %s' % (tablename, alias), alias, scope)
  1344         return alias
  1344         return alias
  1345 
  1345 
  1346     def add_table(self, table, key=None, scope=-1):
  1346     def add_table(self, table, key=None, scope=-1):
  1347         if key is None:
  1347         if key is None:
  1348             key = table
  1348             key = table
  1435             try:
  1435             try:
  1436                 return relation._q_sqltable
  1436                 return relation._q_sqltable
  1437             except AttributeError:
  1437             except AttributeError:
  1438                 pass
  1438                 pass
  1439         self._state.done.add(relation)
  1439         self._state.done.add(relation)
  1440         alias = self.alias_and_add_table(self.dbhelper.fti_table)
  1440         scope = self._state.scopes[relation.scope]
       
  1441         alias = self.alias_and_add_table(self.dbhelper.fti_table, scope=scope)
  1441         relation._q_sqltable = alias
  1442         relation._q_sqltable = alias
  1442         return alias
  1443         return alias