for co in self._adjusted_exportable_columns():
cp = self._proxy_column(co)
for ci in cp.orig_set:
+ # note that some ambiguity is raised here, whereby a selectable might have more than
+ # one column that maps to an "original" column. examples include unions and joins
self._orig_cols[ci] = cp
if self.oid_column is not None:
for ci in self.oid_column.orig_set:
)\r
\r
class SelectableTest(testbase.AssertMixin):\r
+ def testjoinagainstself(self):\r
+ jj = select([table.c.col1.label('bar_col1')])\r
+ jjj = join(table, jj, table.c.col1==jj.c.bar_col1)\r
+ assert jjj.corresponding_column(jjj.c.table1_col1) is jjj.c.table1_col1\r
+\r
def testjoinagainstjoin(self):\r
j = outerjoin(table, table2, table.c.col1==table2.c.col2)\r
jj = select([ table.c.col1.label('bar_col1')],from_obj=[j]).alias('foo')\r