From 6e023b16653b0a2e355a1858d57ff01d38ab05dc Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 3 Jan 2011 21:11:12 -0500 Subject: - Firebird numeric type now checks for Decimal explicitly, lets float() pass right through, thereby allowing special values such as float('inf'). [ticket:2012] --- lib/sqlalchemy/dialects/firebird/kinterbasdb.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/dialects/firebird/kinterbasdb.py') diff --git a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py index ad8d44262..73989097b 100644 --- a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py +++ b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py @@ -48,11 +48,12 @@ __ http://kinterbasdb.sourceforge.net/dist_docs/usage.html#special_issue_concurr from sqlalchemy.dialects.firebird.base import FBDialect, \ FBCompiler, FBExecutionContext from sqlalchemy import util, types as sqltypes +from sqlalchemy.util.compat import decimal class _FBNumeric_kinterbasdb(sqltypes.Numeric): def bind_processor(self, dialect): def process(value): - if value is not None: + if isinstance(value, decimal.Decimal): return str(value) else: return value @@ -78,7 +79,7 @@ class FBDialect_kinterbasdb(FBDialect): colspecs = util.update_copy( FBDialect.colspecs, { - sqltypes.Numeric:_FBNumeric_kinterbasdb + sqltypes.Numeric:_FBNumeric_kinterbasdb, } ) -- cgit v1.2.1