| 198 | } |
| 199 | |
| 200 | from_clause::from_clause(prod *p) : prod(p) { |
| 201 | reflist.push_back(table_ref::factory(this)); |
| 202 | for (auto r : reflist.back()->refs) |
| 203 | scope->refs.push_back(&*r); |
| 204 | |
| 205 | while (d6() > 5) { |
| 206 | // add a lateral subquery |
| 207 | if (!impedance::matched(typeid(lateral_subquery))) |
| 208 | break; |
| 209 | reflist.push_back(make_shared<lateral_subquery>(this)); |
| 210 | for (auto r : reflist.back()->refs) |
| 211 | scope->refs.push_back(&*r); |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | select_list::select_list(prod *p) : prod(p) |
| 216 | { |