diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-05-03 19:24:52 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-05-03 19:24:52 -0400 |
| commit | 9d34c64095b6bed4b36aaea5d0d0e485fcb15d58 (patch) | |
| tree | 9eb47b5c4ce82ba85a439e9eb1ce1b5b95fee6ba /lib | |
| parent | 7509fe59ab3d0437b478052cca2329b7c18a8682 (diff) | |
| download | sqlalchemy-9d34c64095b6bed4b36aaea5d0d0e485fcb15d58.tar.gz | |
- Fixed use_ansi=False mode, which was producing broken
WHERE clauses in pretty much all cases. [ticket:1790]
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/base.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 475730988..6c8055138 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -380,7 +380,8 @@ class OracleCompiler(compiler.SQLCompiler): binary.left = _OuterJoinColumn(binary.left) elif binary.right.table is join.right: binary.right = _OuterJoinColumn(binary.right) - clauses.append(visitors.cloned_traverse(join.onclause, {}, {'binary':visit_binary})) + clauses.append(visitors.cloned_traverse(join.onclause, {}, + {'binary':visit_binary})) else: clauses.append(join.onclause) @@ -391,7 +392,11 @@ class OracleCompiler(compiler.SQLCompiler): for f in froms: if isinstance(f, expression.Join): visit_join(f) - return sql.and_(*clauses) + + if not clauses: + return None + else: + return sql.and_(*clauses) def visit_outer_join_column(self, vc): return self.process(vc.column) + "(+)" |
