server/sources/rql2sql.py
changeset 5901 782b27eaf97a
parent 5890 141b935a38fc
parent 5898 5630bd8f98d9
child 6003 5fbc1c4c13ff
equal deleted inserted replaced
5897:0c6f2f866202 5901:782b27eaf97a
   820         lhsvar, _, rhsvar, rhsconst = relation_info(relation)
   820         lhsvar, _, rhsvar, rhsconst = relation_info(relation)
   821         # we are sure here to have a lhsvar
   821         # we are sure here to have a lhsvar
   822         assert lhsvar is not None
   822         assert lhsvar is not None
   823         if isinstance(relation.parent, Not) \
   823         if isinstance(relation.parent, Not) \
   824                and len(lhsvar.stinfo['relations']) > 1 \
   824                and len(lhsvar.stinfo['relations']) > 1 \
   825                and (rhsvar is None or rhsvar._q_invariant):
   825                and (rhsvar is not None and rhsvar._q_invariant):
   826             self._state.done.add(relation.parent)
   826             self._state.done.add(relation.parent)
   827             return '%s IS NULL' % self._inlined_var_sql(lhsvar, relation.r_type)
   827             return '%s IS NULL' % self._inlined_var_sql(lhsvar, relation.r_type)
   828         lhssql = self._inlined_var_sql(lhsvar, relation.r_type)
   828         lhssql = self._inlined_var_sql(lhsvar, relation.r_type)
   829         if rhsconst is not None:
   829         if rhsconst is not None:
   830             return '%s=%s' % (lhssql, rhsconst.accept(self))
   830             return '%s=%s' % (lhssql, rhsconst.accept(self))