diff -r 4e08eba12851 -r 349af486f5ed rset.py --- a/rset.py Thu Mar 18 09:12:54 2010 +0100 +++ b/rset.py Thu Mar 18 15:51:53 2010 +0100 @@ -286,12 +286,14 @@ newselect = stmts.Select() newselect.limit = limit newselect.offset = offset - aliases = [nodes.VariableRef(newselect.get_variable(vref.name, i)) - for i, vref in enumerate(rqlst.selection)] + aliases = [nodes.VariableRef(newselect.get_variable(chr(65+i), i)) + for i in xrange(len(rqlst.children[0].selection))] + for vref in aliases: + newselect.append_selected(nodes.VariableRef(vref.variable)) newselect.set_with([nodes.SubQuery(aliases, rqlst)], check=False) newunion = stmts.Union() newunion.append(newselect) - rql = rqlst.as_string(kwargs=self.args) + rql = newunion.as_string(kwargs=self.args) rqlst.parent = None return rql