From 5e93bb715260c7d259fe24d1522c51cdbf126e6d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 15 Jul 2007 03:59:38 +0000 Subject: [PATCH] - mod operator '%' produces MOD [ticket:624] --- CHANGES | 1 + lib/sqlalchemy/databases/oracle.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGES b/CHANGES index 699fb9bcaf..81945bffec 100644 --- a/CHANGES +++ b/CHANGES @@ -105,6 +105,7 @@ LOB objects detected in a result set to be forced into OracleBinary so that the LOB is read() automatically, if no typemap was present (i.e., if a textual execute() was issued). + - mod operator '%' produces MOD [ticket:624] - postgres - fixed escaping of the modulo operator [ticket:624] - added support for reflection of domains [ticket:570] diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 06a8af0f8a..e7f8f483ae 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -601,6 +601,13 @@ class OracleCompiler(ansisql.ANSICompiler): else: return super(OracleCompiler, self).for_update_clause(select) + def visit_binary(self, binary): + if binary.operator == '%': + self.strings[binary] = ("MOD(%s,%s)"%(self.get_str(binary.left), self.get_str(binary.right))) + else: + return ansisql.ANSICompiler.visit_binary(self, binary) + + class OracleSchemaGenerator(ansisql.ANSISchemaGenerator): def get_column_specification(self, column, **kwargs): colspec = self.preparer.format_column(column) -- 2.47.2