diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-19 19:04:04 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-19 19:04:04 -0500 |
commit | 25831872db7fe2a6eb07c3d50be2504b41d9d5e5 (patch) | |
tree | 46e63892b49b3eb2db2de089ae8ccbd56f954d0b /lib/sqlalchemy/sql/compiler.py | |
parent | a0fb9e74c61b0c2cb8f2f91ae6cc38d3c8c95949 (diff) | |
download | sqlalchemy-25831872db7fe2a6eb07c3d50be2504b41d9d5e5.tar.gz |
- Fixed bug in SQLite "join rewriting" where usage of an exists() construct
would fail to be rewritten properly, such as when the exists is
mapped to a column_property in an intricate nested-join scenario. #2967
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index d597837bd..17c9c9e8b 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -1286,7 +1286,7 @@ class SQLCompiler(Compiled): # call down to compiler.visit_join(), compiler.visit_select() join_name = selectable.Join.__visit_name__ select_name = selectable.Select.__visit_name__ - + alias_name = selectable.Alias.__visit_name__ def visit(element, **kw): if element in column_translate[-1]: return column_translate[-1][element] @@ -1307,7 +1307,6 @@ class SQLCompiler(Compiled): selectable_ = selectable.Select( [right.element], use_labels=True).alias() - for c in selectable_.c: c._key_label = c.key c._label = c.name @@ -1336,7 +1335,8 @@ class SQLCompiler(Compiled): newelem.right = selectable_ newelem.onclause = visit(newelem.onclause, **kw) - elif newelem.__visit_name__ is select_name: + elif newelem.__visit_name__ is alias_name \ + and newelem.element.__visit_name__ is select_name: column_translate.append({}) newelem._copy_internals(clone=visit, **kw) del column_translate[-1] |