server/sources/rql2sql.py
branchstable
changeset 5898 5630bd8f98d9
parent 5887 3f55f0f10a22
child 5901 782b27eaf97a
equal deleted inserted replaced
5889:014ea69e5200 5898:5630bd8f98d9
   816         lhsvar, _, rhsvar, rhsconst = relation_info(relation)
   816         lhsvar, _, rhsvar, rhsconst = relation_info(relation)
   817         # we are sure here to have a lhsvar
   817         # we are sure here to have a lhsvar
   818         assert lhsvar is not None
   818         assert lhsvar is not None
   819         if isinstance(relation.parent, Not) \
   819         if isinstance(relation.parent, Not) \
   820                and len(lhsvar.stinfo['relations']) > 1 \
   820                and len(lhsvar.stinfo['relations']) > 1 \
   821                and (rhsvar is None or rhsvar._q_invariant):
   821                and (rhsvar is not None and rhsvar._q_invariant):
   822             self._state.done.add(relation.parent)
   822             self._state.done.add(relation.parent)
   823             return '%s IS NULL' % self._inlined_var_sql(lhsvar, relation.r_type)
   823             return '%s IS NULL' % self._inlined_var_sql(lhsvar, relation.r_type)
   824         lhssql = self._inlined_var_sql(lhsvar, relation.r_type)
   824         lhssql = self._inlined_var_sql(lhsvar, relation.r_type)
   825         if rhsconst is not None:
   825         if rhsconst is not None:
   826             return '%s=%s' % (lhssql, rhsconst.accept(self))
   826             return '%s=%s' % (lhssql, rhsconst.accept(self))