summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-05-03 19:24:52 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-05-03 19:24:52 -0400
commit9d34c64095b6bed4b36aaea5d0d0e485fcb15d58 (patch)
tree9eb47b5c4ce82ba85a439e9eb1ce1b5b95fee6ba /lib
parent7509fe59ab3d0437b478052cca2329b7c18a8682 (diff)
downloadsqlalchemy-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.py9
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) + "(+)"