diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-22 19:07:04 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-22 19:07:04 -0500 |
| commit | 73f2b37fc98aeb7c5ec5b4b9e624352042018686 (patch) | |
| tree | 7a1813eca263e74159d47c0542f9835fab4f693e /lib/sqlalchemy/sql | |
| parent | 993af53204a0e4378fbf65a0bbf9a617e34dede1 (diff) | |
| download | sqlalchemy-73f2b37fc98aeb7c5ec5b4b9e624352042018686.tar.gz | |
- remove OrderedSet usage from a critical area
Diffstat (limited to 'lib/sqlalchemy/sql')
| -rw-r--r-- | lib/sqlalchemy/sql/expression.py | 11 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/util.py | 11 |
2 files changed, 8 insertions, 14 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index bc36e888c..9e4804349 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -2401,14 +2401,6 @@ class FromClause(Selectable): self.primary_key = ColumnSet() self.foreign_keys = set() - def _export_columns(self): - """Initialize column collections.""" - - self._columns = ColumnCollection() - self._primary_key = ColumnSet() - self._foreign_keys = set() - self._populate_column_collection() - def _populate_column_collection(self): pass @@ -3655,9 +3647,6 @@ class TableClause(_Immutable, FromClause): def _init_collections(self): pass - def _export_columns(self): - raise NotImplementedError() - @util.memoized_property def description(self): # Py3K diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 757de37c4..997fedade 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -217,7 +217,9 @@ def join_condition(a, b, ignore_nonexistent_tables=False, a_subset=None): for left in (a_subset, a): if left is None: continue - for fk in b.foreign_keys: + for fk in sorted( + b.foreign_keys, + key=lambda fk:fk.parent._creation_order): try: col = fk.get_referent(left) except exc.NoReferencedTableError: @@ -230,7 +232,9 @@ def join_condition(a, b, ignore_nonexistent_tables=False, a_subset=None): crit.append(col == fk.parent) constraints.add(fk.constraint) if left is not b: - for fk in left.foreign_keys: + for fk in sorted( + left.foreign_keys, + key=lambda fk:fk.parent._creation_order): try: col = fk.get_referent(b) except exc.NoReferencedTableError: @@ -247,7 +251,8 @@ def join_condition(a, b, ignore_nonexistent_tables=False, a_subset=None): if len(crit) == 0: if isinstance(b, expression._FromGrouping): - hint = " Perhaps you meant to convert the right side to a subquery using alias()?" + hint = " Perhaps you meant to convert the right side to a "\ + "subquery using alias()?" else: hint = "" raise exc.ArgumentError( |
