| 1174 | | self.select.append((joins[-1], target.column)) |
|---|
| | 1174 | final_alias = joins[-1] |
|---|
| | 1175 | col = target.column |
|---|
| | 1176 | if len(joins) > 1: |
|---|
| | 1177 | join = self.alias_map[final_alias] |
|---|
| | 1178 | if col == join[RHS_JOIN_COL]: |
|---|
| | 1179 | self.unref_alias(final_alias) |
|---|
| | 1180 | final_alias = join[LHS_ALIAS] |
|---|
| | 1181 | col = join[LHS_JOIN_COL] |
|---|
| | 1182 | joins = joins[:-1] |
|---|
| | 1183 | for join in joins[1:]: |
|---|
| | 1184 | # Only nullable aliases are promoted, so we don't end up |
|---|
| | 1185 | # doing unnecessary left outer joins here. |
|---|
| | 1186 | self.promote_alias(join) |
|---|
| | 1187 | self.select.append((final_alias, col)) |
|---|