[Sqlalchemy-commits] [1427] sqlalchemy/branches/schema/test: column.original removed totally ! _get
Brought to you by:
zzzeek
From: <co...@sq...> - 2006-05-08 18:44:22
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><style type="text/css"><!-- #msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; } #msg dt { float: left; width: 6em; font-weight: bold; } #msg dt:after { content:':';} #msg dl, #msg dt, #msg ul, #msg li { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; } #msg dl a { font-weight: bold} #msg dl a:link { color:#fc3; } #msg dl a:active { color:#ff0; } #msg dl a:visited { color:#cc6; } h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; } #msg ul, pre { overflow: auto; } #patch { width: 100%; } #patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;} #patch .propset h4, #patch .binary h4 {margin:0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;} #patch .propset .diff, #patch .binary .diff {padding:10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, .info {color:#888;background:#fff;} --></style> <title>[1427] sqlalchemy/branches/schema/test: column.original removed totally ! _get_col_by_original changed to corresponding_column</title> </head> <body> <div id="msg"> <dl> <dt>Revision</dt> <dd>1427</dd> <dt>Author</dt> <dd>zzzeek</dd> <dt>Date</dt> <dd>2006-05-08 13:43:43 -0500 (Mon, 08 May 2006)</dd> </dl> <h3>Log Message</h3> <pre>column.original removed totally ! _get_col_by_original changed to corresponding_column</pre> <h3>Modified Paths</h3> <ul> <li><a href="#sqlalchemybranchesschemalibsqlalchemydatabasesmssqlpy">sqlalchemy/branches/schema/lib/sqlalchemy/databases/mssql.py</a></li> <li><a href="#sqlalchemybranchesschemalibsqlalchemydatabasesoraclepy">sqlalchemy/branches/schema/lib/sqlalchemy/databases/oracle.py</a></li> <li><a href="#sqlalchemybranchesschemalibsqlalchemyormmapperpy">sqlalchemy/branches/schema/lib/sqlalchemy/orm/mapper.py</a></li> <li><a href="#sqlalchemybranchesschemalibsqlalchemyormpropertiespy">sqlalchemy/branches/schema/lib/sqlalchemy/orm/properties.py</a></li> <li><a href="#sqlalchemybranchesschemalibsqlalchemyschemapy">sqlalchemy/branches/schema/lib/sqlalchemy/schema.py</a></li> <li><a href="#sqlalchemybranchesschemalibsqlalchemysqlpy">sqlalchemy/branches/schema/lib/sqlalchemy/sql.py</a></li> <li><a href="#sqlalchemybranchesschematestobjectstorepy">sqlalchemy/branches/schema/test/objectstore.py</a></li> <li><a href="#sqlalchemybranchesschematestselectpy">sqlalchemy/branches/schema/test/select.py</a></li> <li><a href="#sqlalchemybranchesschematestselectablepy">sqlalchemy/branches/schema/test/selectable.py</a></li> </ul> </div> <div id="patch"> <h3>Diff</h3> <a id="sqlalchemybranchesschemalibsqlalchemydatabasesmssqlpy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/lib/sqlalchemy/databases/mssql.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/lib/sqlalchemy/databases/mssql.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/lib/sqlalchemy/databases/mssql.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -455,7 +455,7 @@ </span><span class="cx"> super(MSSQLCompiler, self).visit_column(column) </span><span class="cx"> if column.table is not None and self.tablealiases.has_key(column.table): </span><span class="cx"> self.strings[column] = \ </span><del>- self.strings[self.tablealiases[column.table]._get_col_by_original(column.original)] </del><ins>+ self.strings[self.tablealiases[column.table].corresponding_column(column.original)] </ins><span class="cx"> </span><span class="cx"> </span><span class="cx"> class MSSQLSchemaGenerator(ansisql.ANSISchemaGenerator): </span></span></pre></div> <a id="sqlalchemybranchesschemalibsqlalchemydatabasesoraclepy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/lib/sqlalchemy/databases/oracle.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/lib/sqlalchemy/databases/oracle.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/lib/sqlalchemy/databases/oracle.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -274,18 +274,13 @@ </span><span class="cx"> self.strings[select.order_by_clause] = "" </span><span class="cx"> ansisql.ANSICompiler.visit_select(self, select) </span><span class="cx"> return </span><ins>+ </ins><span class="cx"> if select.limit is not None or select.offset is not None: </span><span class="cx"> select._oracle_visit = True </span><ins>+ # to use ROW_NUMBER(), an ORDER BY is required. </ins><span class="cx"> orderby = self.strings[select.order_by_clause] </span><span class="cx"> if not orderby: </span><del>- # to use ROW_NUMBER(), an ORDER BY is required. so here we dig in - # as best we can to find some column we can order by - # TODO: try to get "oid_column" to be used here - if len(select.primary_key): - col = select.primary_key[0].original.table.name - else: - col = [c for c in select.c][0].original.table.name - orderby = "%s.rowid ASC" % col </del><ins>+ orderby = select.oid_column </ins><span class="cx"> select.append_column(sql.ColumnClause("ROW_NUMBER() OVER (ORDER BY %s)" % orderby).label("ora_rn")) </span><span class="cx"> limitselect = sql.select([c for c in select.c if c.key!='ora_rn']) </span><span class="cx"> if select.offset is not None: </span></span></pre></div> <a id="sqlalchemybranchesschemalibsqlalchemyormmapperpy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/lib/sqlalchemy/orm/mapper.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/lib/sqlalchemy/orm/mapper.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/lib/sqlalchemy/orm/mapper.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -341,14 +341,14 @@ </span><span class="cx"> </span><span class="cx"> if sql.is_column(prop): </span><span class="cx"> try: </span><del>- prop = self.select_table._get_col_by_original(prop) </del><ins>+ prop = self.select_table.corresponding_column(prop) </ins><span class="cx"> except KeyError: </span><span class="cx"> raise exceptions.ArgumentError("Column '%s' is not represented in mapper's table" % prop._label) </span><span class="cx"> self.columns[key] = prop </span><span class="cx"> prop = ColumnProperty(prop) </span><span class="cx"> elif isinstance(prop, list) and sql.is_column(prop[0]): </span><span class="cx"> try: </span><del>- prop = [self.select_table._get_col_by_original(p) for p in prop] </del><ins>+ prop = [self.select_table.corresponding_column(p) for p in prop] </ins><span class="cx"> except KeyError, e: </span><span class="cx"> raise exceptions.ArgumentError("Column '%s' is not represented in mapper's table" % e.args[0]) </span><span class="cx"> self.columns[key] = prop[0] </span><span class="lines">@@ -847,7 +847,7 @@ </span><span class="cx"> examples.""" </span><span class="cx"> newrow = util.DictDecorator(row) </span><span class="cx"> for c in tomapper.select_table.c: </span><del>- c2 = self.select_table._get_col_by_original(c) </del><ins>+ c2 = self.select_table.corresponding_column(c) </ins><span class="cx"> newrow[c] = row[c2] </span><span class="cx"> return newrow </span><span class="cx"> </span><span class="lines">@@ -1034,19 +1034,19 @@ </span><span class="cx"> super(TranslatingDict, self).__init__() </span><span class="cx"> self.selectable = selectable </span><span class="cx"> def __getitem__(self, col): </span><del>- ourcol = self.selectable._get_col_by_original(col) </del><ins>+ ourcol = self.selectable.corresponding_column(col) </ins><span class="cx"> return super(TranslatingDict, self).__getitem__(ourcol) </span><span class="cx"> def has_key(self, col): </span><del>- ourcol = self.selectable._get_col_by_original(col) </del><ins>+ ourcol = self.selectable.corresponding_column(col) </ins><span class="cx"> return super(TranslatingDict, self).has_key(ourcol) </span><span class="cx"> def __setitem__(self, col, value): </span><del>- ourcol = self.selectable._get_col_by_original(col) </del><ins>+ ourcol = self.selectable.corresponding_column(col) </ins><span class="cx"> return super(TranslatingDict, self).__setitem__(ourcol, value) </span><span class="cx"> def __contains__(self, col): </span><del>- ourcol = self.selectable._get_col_by_original(col) </del><ins>+ ourcol = self.selectable.corresponding_column(col) </ins><span class="cx"> return super(TranslatingDict, self).__contains__(ourcol) </span><span class="cx"> def setdefault(self, col, value): </span><del>- ourcol = self.selectable._get_col_by_original(col) </del><ins>+ ourcol = self.selectable.corresponding_column(col) </ins><span class="cx"> return super(TranslatingDict, self).setdefault(ourcol, value) </span><span class="cx"> </span><span class="cx"> class ClassKey(object): </span></span></pre></div> <a id="sqlalchemybranchesschemalibsqlalchemyormpropertiespy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/lib/sqlalchemy/orm/properties.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/lib/sqlalchemy/orm/properties.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/lib/sqlalchemy/orm/properties.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -34,7 +34,7 @@ </span><span class="cx"> def setup(self, key, statement, eagertable=None, **options): </span><span class="cx"> for c in self.columns: </span><span class="cx"> if eagertable is not None: </span><del>- statement.append_column(eagertable._get_col_by_original(c)) </del><ins>+ statement.append_column(eagertable.corresponding_column(c)) </ins><span class="cx"> else: </span><span class="cx"> statement.append_column(c) </span><span class="cx"> def do_init(self, key, parent): </span><span class="lines">@@ -528,7 +528,7 @@ </span><span class="cx"> orderby = util.to_list(orderby) </span><span class="cx"> for i in range(0, len(orderby)): </span><span class="cx"> if isinstance(orderby[i], schema.Column): </span><del>- orderby[i] = self.eagertarget._get_col_by_original(orderby[i]) </del><ins>+ orderby[i] = self.eagertarget.corresponding_column(orderby[i]) </ins><span class="cx"> else: </span><span class="cx"> orderby[i].accept_visitor(self.aliasizer) </span><span class="cx"> return orderby </span><span class="lines">@@ -609,7 +609,7 @@ </span><span class="cx"> return map.keys() </span><span class="cx"> map = {} </span><span class="cx"> for c in self.eagertarget.c: </span><del>- parent = self.target._get_col_by_original(c) </del><ins>+ parent = self.target.corresponding_column(c) </ins><span class="cx"> map[parent] = c </span><span class="cx"> map[parent._label] = c </span><span class="cx"> map[parent.name] = c </span><span class="lines">@@ -758,14 +758,14 @@ </span><span class="cx"> for i in range(0, len(clist.clauses)): </span><span class="cx"> if isinstance(clist.clauses[i], schema.Column) and self.tables.has_key(clist.clauses[i].table): </span><span class="cx"> orig = clist.clauses[i] </span><del>- clist.clauses[i] = self.get_alias(clist.clauses[i].table)._get_col_by_original(clist.clauses[i]) </del><ins>+ clist.clauses[i] = self.get_alias(clist.clauses[i].table).corresponding_column(clist.clauses[i]) </ins><span class="cx"> if clist.clauses[i] is None: </span><span class="cx"> raise "cant get orig for " + str(orig) + " against table " + orig.table.name + " " + self.get_alias(orig.table).name </span><span class="cx"> def visit_binary(self, binary): </span><span class="cx"> if isinstance(binary.left, schema.Column) and self.tables.has_key(binary.left.table): </span><del>- binary.left = self.get_alias(binary.left.table)._get_col_by_original(binary.left) </del><ins>+ binary.left = self.get_alias(binary.left.table).corresponding_column(binary.left) </ins><span class="cx"> if isinstance(binary.right, schema.Column) and self.tables.has_key(binary.right.table): </span><del>- binary.right = self.get_alias(binary.right.table)._get_col_by_original(binary.right) </del><ins>+ binary.right = self.get_alias(binary.right.table).corresponding_column(binary.right) </ins><span class="cx"> </span><span class="cx"> class BinaryVisitor(sql.ClauseVisitor): </span><span class="cx"> def __init__(self, func): </span></span></pre></div> <a id="sqlalchemybranchesschemalibsqlalchemyschemapy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/lib/sqlalchemy/schema.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/lib/sqlalchemy/schema.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/lib/sqlalchemy/schema.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -414,7 +414,7 @@ </span><span class="cx"> </span><span class="cx"> def references(self, table): </span><span class="cx"> """returns True if the given table is referenced by this ForeignKey.""" </span><del>- return table._get_col_by_original(self.column, False) is not None </del><ins>+ return table.corresponding_column(self.column, False) is not None </ins><span class="cx"> </span><span class="cx"> def _init_column(self): </span><span class="cx"> # ForeignKey inits its remote column as late as possible, so tables can </span><span class="lines">@@ -426,10 +426,10 @@ </span><span class="cx"> raise ArgumentError("Invalid foreign key column specification: " + self._colspec) </span><span class="cx"> if m.group(3) is None: </span><span class="cx"> (tname, colname) = m.group(1, 2) </span><del>- schema = self.parent.original.table.schema </del><ins>+ schema = list(self.parent.orig_set)[0].table.schema </ins><span class="cx"> else: </span><span class="cx"> (schema,tname,colname) = m.group(1,2,3) </span><del>- table = Table(tname, self.parent.original.metadata, mustexist=True, schema=schema) </del><ins>+ table = Table(tname, list(self.parent.orig_set)[0].metadata, mustexist=True, schema=schema) </ins><span class="cx"> if colname is None: </span><span class="cx"> key = self.parent </span><span class="cx"> self._column = table.c[self.parent.key] </span></span></pre></div> <a id="sqlalchemybranchesschemalibsqlalchemysqlpy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/lib/sqlalchemy/sql.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/lib/sqlalchemy/sql.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/lib/sqlalchemy/sql.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -617,15 +617,8 @@ </span><span class="cx"> if len(s) == 0: </span><span class="cx"> s.add(self) </span><span class="cx"> self.__orig_set = s </span><del>- self.__original = list(s)[0] - def _get_original(self): - try: - return self.__original - except AttributeError: - self.__original = list(self.orig_set)[0] - return self.__original </del><span class="cx"> orig_set = property(_get_orig_set, _set_orig_set,doc="""a Set containing Table-bound, non-proxied ColumnElements for which this ColumnElement is a proxy. In all cases except for a column proxied from a Union (i.e. CompoundSelect), this set will be just one element.""") </span><del>- original = property(_get_original, doc="Scalar version of orig_set, which is usually one element. If orig_set contains multiple columns, this will represent just one of the columns.") </del><ins>+ </ins><span class="cx"> def shares_lineage(self, othercolumn): </span><span class="cx"> for c in self.orig_set: </span><span class="cx"> if c in othercolumn.orig_set: </span><span class="lines">@@ -672,7 +665,7 @@ </span><span class="cx"> if not hasattr(self, '_oid_column'): </span><span class="cx"> self._oid_column = self._locate_oid_column() </span><span class="cx"> return self._oid_column </span><del>- def _get_col_by_original(self, column, raiseerr=True): </del><ins>+ def corresponding_column(self, column, raiseerr=True): </ins><span class="cx"> """given a ColumnElement, return the ColumnElement object from this </span><span class="cx"> Selectable which corresponds to that original Column via a proxy relationship.""" </span><span class="cx"> for c in column.orig_set: </span><span class="lines">@@ -717,7 +710,8 @@ </span><span class="cx"> for ci in cp.orig_set: </span><span class="cx"> self._orig_cols[ci] = cp </span><span class="cx"> if self.oid_column is not None: </span><del>- self._orig_cols[self.oid_column.original] = self.oid_column </del><ins>+ for ci in self.oid_column.orig_set: + self._orig_cols[ci] = self.oid_column </ins><span class="cx"> def _exportable_columns(self): </span><span class="cx"> return [] </span><span class="cx"> def _proxy_column(self, column): </span><span class="lines">@@ -995,12 +989,12 @@ </span><span class="cx"> crit = [] </span><span class="cx"> for fk in secondary.foreign_keys: </span><span class="cx"> if fk.references(primary): </span><del>- crit.append(primary._get_col_by_original(fk.column) == fk.parent) </del><ins>+ crit.append(primary.corresponding_column(fk.column) == fk.parent) </ins><span class="cx"> self.foreignkey = fk.parent </span><span class="cx"> if primary is not secondary: </span><span class="cx"> for fk in primary.foreign_keys: </span><span class="cx"> if fk.references(secondary): </span><del>- crit.append(secondary._get_col_by_original(fk.column) == fk.parent) </del><ins>+ crit.append(secondary.corresponding_column(fk.column) == fk.parent) </ins><span class="cx"> self.foreignkey = fk.parent </span><span class="cx"> if len(crit) == 0: </span><span class="cx"> raise exceptions.ArgumentError("Cant find any foreign key relationships between '%s' and '%s'" % (primary.name, secondary.name)) </span><span class="lines">@@ -1128,7 +1122,7 @@ </span><span class="cx"> </span><span class="cx"> for example, this could translate the column "name" from a Table object </span><span class="cx"> to an Alias of a Select off of that Table object.""" </span><del>- return selectable._get_col_by_original(self.original, False) </del><ins>+ return selectable.corresponding_column(self.original, False) </ins><span class="cx"> def _get_from_objects(self): </span><span class="cx"> if self.table is not None: </span><span class="cx"> return [self.table] </span><span class="lines">@@ -1175,7 +1169,8 @@ </span><span class="cx"> except AttributeError: </span><span class="cx"> self._orig_cols= {} </span><span class="cx"> for c in self.columns: </span><del>- self._orig_cols[c.original] = c </del><ins>+ for ci in c.orig_set: + self._orig_cols[ci] = c </ins><span class="cx"> return self._orig_cols </span><span class="cx"> columns = property(lambda s:s._columns) </span><span class="cx"> c = property(lambda s:s._columns) </span></span></pre></div> <a id="sqlalchemybranchesschematestobjectstorepy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/test/objectstore.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/test/objectstore.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/test/objectstore.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -512,7 +512,7 @@ </span><span class="cx"> """tests a save of an object where each instance spans two tables. also tests </span><span class="cx"> redefinition of the keynames for the column properties.""" </span><span class="cx"> usersaddresses = sql.join(users, addresses, users.c.user_id == addresses.c.user_id) </span><del>- print usersaddresses._get_col_by_original(users.c.user_id) </del><ins>+ print usersaddresses.corresponding_column(users.c.user_id) </ins><span class="cx"> print repr(usersaddresses._orig_cols) </span><span class="cx"> m = mapper(User, usersaddresses, </span><span class="cx"> properties = dict( </span></span></pre></div> <a id="sqlalchemybranchesschematestselectpy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/test/select.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/test/select.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/test/select.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -465,7 +465,7 @@ </span><span class="cx"> select([table2]), </span><span class="cx"> select([table3]) </span><span class="cx"> ) </span><del>- assert u._get_col_by_original(table2.c.otherid) is u.c.otherid </del><ins>+ assert u.corresponding_column(table2.c.otherid) is u.c.otherid </ins><span class="cx"> </span><span class="cx"> </span><span class="cx"> def testouterjoin(self): </span></span></pre></div> <a id="sqlalchemybranchesschematestselectablepy"></a> <div class="modfile"><h4>Modified: sqlalchemy/branches/schema/test/selectable.py (1426 => 1427)</h4> <pre class="diff"><span> <span class="info">--- sqlalchemy/branches/schema/test/selectable.py 2006-05-08 18:28:08 UTC (rev 1426) +++ sqlalchemy/branches/schema/test/selectable.py 2006-05-08 18:43:43 UTC (rev 1427) </span><span class="lines">@@ -47,10 +47,10 @@ </span><span class="cx"> s1 = table.select(use_labels=True) </span><span class="cx"> s2 = table2.select(use_labels=True) </span><span class="cx"> print ["%d %s" % (id(c),c.key) for c in u.c] </span><del>- c = u._get_col_by_original(s1.c.table1_col2) </del><ins>+ c = u.corresponding_column(s1.c.table1_col2) </ins><span class="cx"> print "%d %s" % (id(c), c.key) </span><del>- assert u._get_col_by_original(s1.c.table1_col2) is u.c.col2 - assert u._get_col_by_original(s2.c.table2_col2) is u.c.col2 </del><ins>+ assert u.corresponding_column(s1.c.table1_col2) is u.c.col2 + assert u.corresponding_column(s2.c.table2_col2) is u.c.col2 </ins><span class="cx"> </span><span class="cx"> def testaliasunion(self): </span><span class="cx"> # same as testunion, except its an alias of the union </span><span class="lines">@@ -60,10 +60,10 @@ </span><span class="cx"> s1 = table.select(use_labels=True) </span><span class="cx"> s2 = table2.select(use_labels=True) </span><span class="cx"> print ["%d %s" % (id(c),c.key) for c in u.c] </span><del>-# c = u._get_col_by_original(s1.c.table1_col2) </del><ins>+# c = u.corresponding_column(s1.c.table1_col2) </ins><span class="cx"> print "%d %s" % (id(c), c.key) </span><del>- assert u._get_col_by_original(s1.c.table1_col2) is u.c.col2 - assert u._get_col_by_original(s2.c.table2_col2) is u.c.col2 </del><ins>+ assert u.corresponding_column(s1.c.table1_col2) is u.c.col2 + assert u.corresponding_column(s2.c.table2_col2) is u.c.col2 </ins><span class="cx"> </span><span class="cx"> def testselectunion(self): </span><span class="cx"> # like testaliasunion, but off a Select off the union. </span><span class="lines">@@ -73,8 +73,8 @@ </span><span class="cx"> s = select([u]) </span><span class="cx"> s1 = table.select(use_labels=True) </span><span class="cx"> s2 = table2.select(use_labels=True) </span><del>- assert s._get_col_by_original(s1.c.table1_col2) is s.c.col2 - assert s._get_col_by_original(s2.c.table2_col2) is s.c.col2 </del><ins>+ assert s.corresponding_column(s1.c.table1_col2) is s.c.col2 + assert s.corresponding_column(s2.c.table2_col2) is s.c.col2 </ins><span class="cx"> </span><span class="cx"> def testunionagainstjoin(self): </span><span class="cx"> # same as testunion, except its an alias of the union </span><span class="lines">@@ -82,8 +82,8 @@ </span><span class="cx"> select([table2.c.col1, table2.c.col2, table2.c.col3, null().label('colx'), table2.c.coly]) </span><span class="cx"> ).alias('analias') </span><span class="cx"> j1 = table.join(table2) </span><del>- assert u._get_col_by_original(j1.c.table1_colx) is u.c.colx - assert j1._get_col_by_original(u.c.colx) is j1.c.table1_colx </del><ins>+ assert u.corresponding_column(j1.c.table1_colx) is u.c.colx + assert j1.corresponding_column(u.c.colx) is j1.c.table1_colx </ins><span class="cx"> </span><span class="cx"> def testjoin(self): </span><span class="cx"> a = join(table, table2) </span></span></pre> </div> </div> </body> </html> |