]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- oracle needs a filter for this test
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 18 Mar 2010 19:47:33 +0000 (19:47 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 18 Mar 2010 19:47:33 +0000 (19:47 +0000)
- oracle outparam test reveals usage of numeric proc with scale==None

lib/sqlalchemy/types.py
test/sql/test_types.py

index 3feac8f4fc9bc77e181ef310e5230b7bd1b28cdc..16cd57f2682f1366ea51bbd4d3fb957e898f7a65 100644 (file)
@@ -940,7 +940,10 @@ class Numeric(_DateAffinity, TypeEngine):
                 return None
             else:
                 # we're a "numeric", DBAPI returns floats, convert.
-                return processors.to_decimal_processor_factory(_python_Decimal, self.scale)
+                if self.scale is not None:
+                    return processors.to_decimal_processor_factory(_python_Decimal, self.scale)
+                else:
+                    return processors.to_decimal_processor_factory(_python_Decimal)
         else:
             if dialect.supports_native_decimal:
                 return processors.to_float
index 123eab48ca60756678016d6086a85a437949d47f..799e17f4356ef5576090b4d9e03d3ef9d8aeb1b5 100644 (file)
@@ -1113,10 +1113,16 @@ class NumericTest(TestBase):
         )
 
     def test_numeric_as_float(self):
+        if testing.against("oracle+cx_oracle"):
+            filter_ = lambda n:round(n, 5)
+        else:
+            filter_ = None
+
         self._do_test(
             Numeric(precision=8, scale=4, asdecimal=False),
             [15.7563, Decimal("15.7563")],
-            [15.7563]
+            [15.7563],
+            filter_ = filter_
         )
 
     def test_float_as_decimal(self):