105 var.stinfo['relations'].add(newrel) |
105 var.stinfo['relations'].add(newrel) |
106 var.stinfo['rhsrelations'].add(newrel) |
106 var.stinfo['rhsrelations'].add(newrel) |
107 if rel.optional in ('right', 'both'): |
107 if rel.optional in ('right', 'both'): |
108 var.stinfo['optrelations'].add(newrel) |
108 var.stinfo['optrelations'].add(newrel) |
109 # extract subquery solutions |
109 # extract subquery solutions |
110 solutions = [sol.copy() for sol in solutions] |
110 mysolutions = [sol.copy() for sol in solutions] |
111 cleanup_solutions(newselect, solutions) |
111 cleanup_solutions(newselect, mysolutions) |
112 newselect.set_possible_types(solutions) |
112 newselect.set_possible_types(solutions) |
113 # full sub-query |
113 # full sub-query |
114 aliases = [VariableRef(select.get_variable(avar.name, i)) |
114 aliases = [VariableRef(select.get_variable(avar.name, i)) |
115 for i, avar in enumerate(newselect.selection)] |
115 for i, avar in enumerate(newselect.selection)] |
116 select.add_subquery(SubQuery(aliases, myunion), check=False) |
116 select.add_subquery(SubQuery(aliases, myunion), check=False) |