From c691b4cbdf7424964f49ac2fd05057514e5856a3 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 11 Dec 2010 17:44:46 -0500 Subject: - support for cdecimal - add --with-cdecimal flag to tests, monkeypatches cdecimal in - fix mssql/pyodbc.py to not use private '_int' accessor in decimal conversion routines - pyodbc version 2.1.8 is needed for cdecimal in any case as previous versions also called '_int', 2.1.8 adds the same string logic as our own dialect, so that logic is skipped for modern pyodbc version - make the imports for "Decimal" consistent across the whole lib. not sure yet how we should be importing "Decimal" or what the best way forward is that would allow a clean user-invoked swap of cdecimal; for now, added docs suggesting a global monkeypatch - the two decimal libs are not compatible with each other so any chance of mixing produces serious issues. adding adapters to DBAPIs tedious and adds in-python overhead. suggestions welcome on how we should be doing Decimal/cdecimal. --- test/dialect/test_postgresql.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test/dialect/test_postgresql.py') diff --git a/test/dialect/test_postgresql.py b/test/dialect/test_postgresql.py index bff1fba68..cfccb9bb1 100644 --- a/test/dialect/test_postgresql.py +++ b/test/dialect/test_postgresql.py @@ -2,12 +2,12 @@ from test.lib.testing import eq_, assert_raises, assert_raises_message from test.lib import engines import datetime -import decimal from sqlalchemy import * from sqlalchemy.orm import * from sqlalchemy import exc, schema, types from sqlalchemy.dialects.postgresql import base as postgresql from sqlalchemy.engine.strategies import MockEngineStrategy +from sqlalchemy.util.compat import decimal from test.lib import * from test.lib.util import round_decimal from sqlalchemy.sql import table, column @@ -480,7 +480,7 @@ class NumericInterpretationTest(TestBase): def test_numeric_codes(self): from sqlalchemy.dialects.postgresql import pg8000, psycopg2, base - from decimal import Decimal + from sqlalchemy.util.compat import decimal for dialect in (pg8000.dialect(), psycopg2.dialect()): @@ -491,7 +491,7 @@ class NumericInterpretationTest(TestBase): val = 23.7 if proc is not None: val = proc(val) - assert val in (23.7, Decimal("23.7")) + assert val in (23.7, decimal.Decimal("23.7")) class InsertTest(TestBase, AssertsExecutionResults): -- cgit v1.2.1