diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-18 19:47:33 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-18 19:47:33 +0000 |
| commit | 6238032c8de254eb4702bfea13a30dea82f7b3ca (patch) | |
| tree | a5fee154d87096901eb659a877d7774bb6022e1c | |
| parent | bf4c5685e1a7fd37db1a0c3802333eac832f0780 (diff) | |
| download | sqlalchemy-6238032c8de254eb4702bfea13a30dea82f7b3ca.tar.gz | |
- oracle needs a filter for this test
- oracle outparam test reveals usage of numeric proc with scale==None
| -rw-r--r-- | lib/sqlalchemy/types.py | 5 | ||||
| -rw-r--r-- | test/sql/test_types.py | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/sqlalchemy/types.py b/lib/sqlalchemy/types.py index 3feac8f4f..16cd57f26 100644 --- a/lib/sqlalchemy/types.py +++ b/lib/sqlalchemy/types.py @@ -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 diff --git a/test/sql/test_types.py b/test/sql/test_types.py index 123eab48c..799e17f43 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -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): |
