server/sources/rql2sql.py
changeset 5849 9db65b381028
parent 5821 656c974961c4
parent 5844 df7608ecea29
child 5890 141b935a38fc
--- a/server/sources/rql2sql.py	Wed Jun 30 15:43:36 2010 +0200
+++ b/server/sources/rql2sql.py	Thu Jul 01 17:06:37 2010 +0200
@@ -833,10 +833,11 @@
             # if the rhs variable is only linked to this relation, this mean we
             # only want the relation to exists, eg NOT NULL in case of inlined
             # relation
-            if len(rhsvar.stinfo['relations']) == 1 and rhsvar._q_invariant:
+            if rhsvar._q_invariant:
+                sql = self._extra_join_sql(relation, lhssql, rhsvar)
+                if sql:
+                    return sql
                 return '%s IS NOT NULL' % lhssql
-            if rhsvar._q_invariant:
-                return self._extra_join_sql(relation, lhssql, rhsvar)
         return '%s=%s' % (lhssql, rhsvar.accept(self))
 
     def _process_relation_term(self, relation, rid, termvar, termconst, relfield):