server/sources/rql2sql.py
branchstable
changeset 7902 2ada3052e626
parent 7734 59fea81647e5
child 8238 087bb529035c
--- a/server/sources/rql2sql.py	Fri Sep 30 18:08:00 2011 +0200
+++ b/server/sources/rql2sql.py	Tue Oct 04 10:15:45 2011 +0200
@@ -1426,10 +1426,18 @@
             return sql
         leftvars = cmp.children[0].get_nodes(VariableRef)
         assert len(leftvars) == 1
-        leftalias = self._var_table(leftvars[0].variable.stinfo['attrvar'])
+        if leftvars[0].variable.stinfo['attrvar'] is None:
+            assert isinstance(leftvars[0].variable, ColumnAlias)
+            leftalias = leftvars[0].variable._q_sqltable
+        else:
+            leftalias = self._var_table(leftvars[0].variable.stinfo['attrvar'])
         rightvars = cmp.children[1].get_nodes(VariableRef)
         assert len(rightvars) == 1
-        rightalias = self._var_table(rightvars[0].variable.stinfo['attrvar'])
+        if rightvars[0].variable.stinfo['attrvar'] is None:
+            assert isinstance(rightvars[0].variable, ColumnAlias)
+            rightalias = rightvars[0].variable._q_sqltable
+        else:
+            rightalias = self._var_table(rightvars[0].variable.stinfo['attrvar'])
         if optional == 'right':
             self._state.replace_tables_by_outer_join(
                 leftalias, rightalias, 'LEFT', sql)