summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/sqlite.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-07-02 18:29:36 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-07-02 18:29:36 +0000
commitf3a9acc7e2b572a3546b7341b695afd0134b9fc0 (patch)
tree6833543de15bc1268add9a5dd1544fa5ad9fe759 /lib/sqlalchemy/databases/sqlite.py
parent644d7ea600249af027b8beb133bde94107baf578 (diff)
downloadsqlalchemy-f3a9acc7e2b572a3546b7341b695afd0134b9fc0.tar.gz
merge r4889, SQLite Float type, from 0.4 branch
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r--lib/sqlalchemy/databases/sqlite.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py
index 4f1fa9da5..bbfb99d65 100644
--- a/lib/sqlalchemy/databases/sqlite.py
+++ b/lib/sqlalchemy/databases/sqlite.py
@@ -32,6 +32,19 @@ class SLNumeric(sqltypes.Numeric):
else:
return "NUMERIC(%(precision)s, %(length)s)" % {'precision': self.precision, 'length' : self.length}
+class SLFloat(sqltypes.Float):
+ 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):
+ return "FLOAT"
+
class SLInteger(sqltypes.Integer):
def get_col_spec(self):
return "INTEGER"
@@ -153,7 +166,7 @@ colspecs = {
sqltypes.CHAR: SLChar,
sqltypes.Date: SLDate,
sqltypes.DateTime: SLDateTime,
- sqltypes.Float: SLNumeric,
+ sqltypes.Float: SLFloat,
sqltypes.Integer: SLInteger,
sqltypes.NCHAR: SLChar,
sqltypes.Numeric: SLNumeric,