--- a/server/sources/rql2sql.py Tue Jun 22 13:47:35 2010 +0200
+++ b/server/sources/rql2sql.py Wed Jun 30 18:47:10 2010 +0200
@@ -829,10 +829,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):