From: Mike Bayer Date: Sun, 15 Jul 2007 03:59:38 +0000 (+0000) Subject: - mod operator '%' produces MOD [ticket:624] X-Git-Tag: rel_0_3_9~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e93bb715260c7d259fe24d1522c51cdbf126e6d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - mod operator '%' produces MOD [ticket:624] --- 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)