From 372e69ee08cd2d35747edf311ff3b539923b1728 Mon Sep 17 00:00:00 2001 From: Jason Kirtland Date: Wed, 22 Aug 2007 00:21:06 +0000 Subject: For sqlite NUMERIC, send Decimal bind values as strings instead of converting to floats. --- lib/sqlalchemy/databases/sqlite.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/sqlalchemy/databases/sqlite.py') diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py index 8618bfc3e..86146af4d 100644 --- a/lib/sqlalchemy/databases/sqlite.py +++ b/lib/sqlalchemy/databases/sqlite.py @@ -18,6 +18,15 @@ from sqlalchemy.sql import compiler SELECT_REGEXP = re.compile(r'\s*(?:SELECT|PRAGMA)', re.I | re.UNICODE) class SLNumeric(sqltypes.Numeric): + def bind_processor(self, dialect): + type_ = self.asdecimal and str or float + def process(value): + if value is not None: + return type_(value) + else: + return value + return process + def get_col_spec(self): if self.precision is None: return "NUMERIC" -- cgit v1.2.1