diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-18 19:44:12 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-18 19:44:12 +0000 |
| commit | bf4c5685e1a7fd37db1a0c3802333eac832f0780 (patch) | |
| tree | ba3efda1077f42296bb6f0d3263c9b9e06c2e7e5 /lib/sqlalchemy/dialects/sybase/pysybase.py | |
| parent | 9aa0868a4191738f7192e7f86c1879062e0bfd4f (diff) | |
| download | sqlalchemy-bf4c5685e1a7fd37db1a0c3802333eac832f0780.tar.gz | |
some weird numerictype coming back from pysybase, run through float()
Diffstat (limited to 'lib/sqlalchemy/dialects/sybase/pysybase.py')
| -rw-r--r-- | lib/sqlalchemy/dialects/sybase/pysybase.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/sybase/pysybase.py b/lib/sqlalchemy/dialects/sybase/pysybase.py index 8944465ee..6aad4e4cf 100644 --- a/lib/sqlalchemy/dialects/sybase/pysybase.py +++ b/lib/sqlalchemy/dialects/sybase/pysybase.py @@ -21,10 +21,18 @@ kind at this time. """ +from sqlalchemy import types as sqltypes, processors from sqlalchemy.dialects.sybase.base import SybaseDialect, \ SybaseExecutionContext, SybaseSQLCompiler +class _SybNumeric(sqltypes.Numeric): + def result_processor(self, dialect, type_): + if not self.asdecimal: + return processors.to_float + else: + return sqltypes.Numeric.result_processor(self, dialect, type_) + class SybaseExecutionContext_pysybase(SybaseExecutionContext): def set_ddl_autocommit(self, dbapi_connection, value): @@ -52,6 +60,11 @@ class SybaseDialect_pysybase(SybaseDialect): execution_ctx_cls = SybaseExecutionContext_pysybase statement_compiler = SybaseSQLCompiler_pysybase + colspecs={ + sqltypes.Numeric:_SybNumeric, + sqltypes.Float:sqltypes.Float + } + @classmethod def dbapi(cls): import Sybase |
